在Appcelerator Titanium中,我为ListView示例提供了以下XML:
<ListView class="fill-height" defaultItemTemplate="item">
<Templates>
<ItemTemplate name="item" height="100dp">
<View class="top-10 left-10 right-10 bottom-10" layout="vertical">
<View class="size-height fill-width">
<Label class="left title" bindId="name"/>
<Label class="right description" bindId="number"/>
</View>
<Label class="top-5 left fill-width description" height="13dp" bindId="direction"/>
<View width="100dp" height="40dp" layout="vertical" backgroundColor="green" bindId="envelopes">
</View>
</View>
</ItemTemplate>
</Templates>
<ListSection id="items"/>
我正在使用以下代码返回一些数据来填充我的ListView:
return {
name: {text: object.name},
number: {text: object.number},
direction: {text: object.direction},
envelopes: { children: [Titanium.UI.createLabel({
text: "first",
width:'30dp',
height:'30dp'
})]}
}
这是一些演示数据,但此代码会在Android上产生不同的行为,然后在iOS上。
在iOS上,我得到了预期的结果。 '信封'视图是一个绿色矩形,包含标签'first'。在Android上,这似乎不起作用。我只得到绿色矩形,但没有添加孩子。
有谁知道如何解决此Android特定问题?如何在列表视图中为视图添加标签?
使用XML向信封添加标签时(在<View>
和</View>
之间),会显示标签。尝试使用children-property添加它时,标签不会添加到视图中。
答案 0 :(得分:0)
它不应该起作用的儿童属性,但在iOS中确实如此。
我遇到了同样的问题,在android中工作的唯一解决方案是在模板中包含标签。
我已经创建了与此相关的问题:Get bindId from added data to an TableView inside a ListView (Titanium/Alloy),在这种情况下,我还尝试将数据设置为TableView,但仍未成功。
无论哪种方式,都不建议这样做。
在您的情况下,我认为您不需要,但如果您想知道所选的bindId,则不能只知道ItemTemplate中定义的视图和标签(使用Alloy)< / p>