具有给定xml模型的Listview
嗨,我是黑莓10级联开发的新手 我想创建一个包含以下数据模型的列表(位于Assets文件夹中) Categories.xml具有给定xml模型的Listview,listview,blackberry-10,blackberry-cascades,datamodel,Listview,Blackberry 10,Blackberry Cascades,Datamodel,嗨,我是黑莓10级联开发的新手 我想创建一个包含以下数据模型的列表(位于Assets文件夹中) Categories.xml <?xml version="1.0" encoding="utf-8"?> <MasterData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <CategoryList&g
<?xml version="1.0" encoding="utf-8"?>
<MasterData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CategoryList>
<Category>
<CategoryId>12</CategoryId>
<CategoryNameEn>Banks & Investments</CategoryNameEn>
<CategoryImageName>banks.png</CategoryImageName>
<DisplayOrder>1</DisplayOrder>
</Category>
<Category>
<CategoryId>15</CategoryId>
<CategoryNameEn>Car Rental</CategoryNameEn>
<CategoryImageName>cars.png</CategoryImageName>
<DisplayOrder>2</DisplayOrder>
</Category>
<Category>
<CategoryId>19</CategoryId>
<CategoryNameEn>Services</CategoryNameEn>
<CategoryImageName>services.png</CategoryImageName>
<DisplayOrder>3</DisplayOrder>
</Category>
<Category>
<CategoryId>18</CategoryId>
<CategoryNameEn>Real Estate & Constructions</CategoryNameEn>
<CategoryImageName>construction.png</CategoryImageName>
<DisplayOrder>5</DisplayOrder>
</Category>
<Category>
<CategoryId>2</CategoryId>
<CategoryNameEn>Hotels & Apartments</CategoryNameEn>
<CategoryImageName>hotels.png</CategoryImageName>
<DisplayOrder>7</DisplayOrder>
</Category>
</CategoryList>
输出应如下图所示。
但是列表是空的。类别名称不绑定到列表。
我不知道我的代码出了什么问题。请解决我的问题。这里,我没有修复您的XML,只是一个如何修复它的小示例。XML:
<model>
<item CategoryNameEn="Banks & Investments" CategoryId="12" CategoryImageName="banks.png" DisplayOrder="1"/>
<item CategoryNameEn="Banks & Investments2" CategoryId="33" CategoryImageName="banks2.png" DisplayOrder="2" />
</model>
可能重复的hi-Kernald你能帮我找出我代码中的错误吗。请您使用上面的xml和listview并创建简单的项目来找出错误。谢谢我回答了你的第一个问题。我建议你看看控制台。您会立即看到错误……我已经像上面那样更改了模型(categories.xml)。但是现在我也没有得到输出。我在控制台上得到这个消息。“8月8日05:28:13.331 com.example.STCDirectory.testDev_TCDirectorye0359adc.253837444默认9000通知XmlDataModel:无法设置”asset:///models/categories.xml'作为源,当前仅支持文件路径。'我已从路径中删除资产://,然后显示项,但显示的是CategoryId,而不是categoryNameEn。它显示文本:
ListItemData.categoryNameEn
,因此应该显示该文本。您必须对XML做了一些操作,检查它的命名是否正确
<model>
<item CategoryNameEn="Banks & Investments" CategoryId="12" CategoryImageName="banks.png" DisplayOrder="1"/>
<item CategoryNameEn="Banks & Investments2" CategoryId="33" CategoryImageName="banks2.png" DisplayOrder="2" />
</model>
ListView {
dataModel: XmlDataModel {
source: "asset:///categories.xml"
}
// The ListItemComponent defines how "listItem" items should appear.
listItemComponents: [
ListItemComponent {
type: "item" //setting the node name
Container {
preferredWidth: 748
preferredHeight: 50
background: Color.Blue
layout: StackLayout {
orientation: LayoutOrientation.LeftToRight
}
Label {
text: ListItemData.CategoryNameEn //setting the node
verticalAlignment: VerticalAlignment.Center
// Apply a text style to create a title-sized font
// with normal weight
textStyle {
base: SystemDefaults.TextStyles.TitleText
fontWeight: FontWeight.Normal
}
}
Container {
horizontalAlignment: HorizontalAlignment.Fill
verticalAlignment: VerticalAlignment.Center
preferredWidth: 50
preferredHeight: 50
//background: Color.Blue
layout: StackLayout {
orientation: LayoutOrientation.RightToLeft
}
// Arrow image
ImageView {
verticalAlignment: VerticalAlignment.Center
translationX: 0
translationY: 0
imageSource: "asset:///images/arrow.png"
rightMargin: 10
}
} // end of inner Container
} //end of outer container
} // end of ListItemComponent
] //end of listItemComponents
} //end of ListView