ListView不是';t使用自定义ListItemComponent

ListView不是';t使用自定义ListItemComponent,listview,blackberry-10,blackberry-cascades,Listview,Blackberry 10,Blackberry Cascades,我试图在级联中使用自定义ListItemComponent,但它忽略了它。它不是绘制标签,将其着色为青色并将ListItemData.text放入,而是用ListItemData.description填充我的列表(我的json包含文本、描述、状态和图像)。如果我使用StandardListItem,所有信息都会正确显示 QML: 页面{ 容器{ 列表视图{ id:myListView 数据模型:MyListModel{ id:myListModel } listItemComponents:[

我试图在级联中使用自定义ListItemComponent,但它忽略了它。它不是绘制标签,将其着色为青色并将ListItemData.text放入,而是用ListItemData.description填充我的列表(我的json包含文本、描述、状态和图像)。如果我使用StandardListItem,所有信息都会正确显示

QML:

页面{
容器{
列表视图{
id:myListView
数据模型:MyListModel{
id:myListModel
}
listItemComponents:[
ListItemComponent{
类型:“listItem”
容器{
id:项目
布局:StackLayout{
方向:LayoutOrientation.LeftToRight
}
标签{
id:文本
text:ListItemData.text
文本样式{
颜色:颜色。青色
}
}
}
}
]
}
}
一旦创建完成:{
加载(“app/native/assets/mydata.json”)
}
}
c++:

void MyListModel::load(常量QString和文件名)
{
bb::data::JsonDataAccess jda;
QVariantList lst=jda.load(文件名).value();
if(jda.hasError()){
bb::data::DataAccessError=jda.error();

qDebug()这取决于数据模型实现/继承的类型。当ListView需要知道要显示的项的类型时,在大多数情况下(请参见例外情况),它会从调用中调用
itemType()
。默认情况下,大多数数据模型将返回空字符串,但会返回“header”或“item”取决于项目是否为标题


您已指定您的
ListItemComponent
仅对类型为“listItem”的项目有效,这很可能与您的
MyListModel::itemType()
返回的内容不匹配。如果
MyListModel
GroupDataModel
,则将
ListItemComponent
更改为
类型:“项目”
,否则请使用
type:“
或删除
type
属性,以便默认情况下所有项都使用
ListItemComponent

这取决于数据模型实现/继承的类型。在大多数情况下,当ListView需要知道要显示的项的类型时(请参阅以了解例外情况)它从调用
itemType()
。默认情况下,大多数数据模型将返回空字符串,但a将返回“header”或“item”,具体取决于该项是否为header


您已指定您的
ListItemComponent
仅对类型为“listItem”的项目有效,这很可能与您的
MyListModel::itemType()
返回的内容不匹配。如果
MyListModel
GroupDataModel
,则将
ListItemComponent
更改为
类型:“项目”
,否则使用
type:“
或删除
type
属性,以便默认情况下所有项目都使用
ListItemComponent

在ListItemComponent{}中,您有一个“type:”字段,您应该将值设置为“item”,即type:“item”。然后列表视图将使用自定义组件

在ListItemComponent{}中,您有一个“type:”字段,您应该将值设置为“item”,即type:“item”。然后列表视图将使用自定义组件

有人可以在标记中添加“ListItemComponent”吗,我没有足够的代表。有人可以添加“ListItemComponent”吗请注意,我没有足够的代表。