我在ListView上使用带有视图的自定义模板,但会发生的是点击不起作用。我试图在内部的所有视图上禁用touchEnabled,但仍然没有。
在下面的示例和我所包含的附件中,有两个ListView,一个带有一个带有Views的模板,另一个带有一个没有Views的模板的ListView。
在模拟器iOS 10.0.0上测试
[index.xml]
<Alloy>
<Window class="container" layout="vertical">
<Label text="Click is not working on a template with views inside (tested iOS 10.0.0)" top="30"/>
<ListView id="list1" defaultItemTemplate="temp1" height="200" allowsSelection="false" separatorColor="transparent" top="10" onItemClick="testClick">
<Templates>
<ItemTemplate name="temp1" onClick="testClick">
<View backgroundColor="blue">
<View backgroundColor="red" width="60%" height="90%">
<Label bindId="label1"/>
</View>
</View>
</ItemTemplate>
</Templates>
<ListSection headerTitle="Click DON'T WORK!" fontSize="12">
<ListItem label1:text="01" />
<ListItem label1:text="02" />
<ListItem label1:text="03" />
</ListSection>
</ListView>
<ListView id="list2" defaultItemTemplate="temp2" height="200" allowsSelection="false" separatorColor="transparent">
<Templates>
<ItemTemplate name="temp2" onClick="testClick" >
<View backgroundColor="cyan">
</View>
</ItemTemplate>
</Templates>
<ListSection headerTitle="Click WORKS!">
<ListItem />
<ListItem />
<ListItem />
</ListSection>
</ListView>
</Window>
[index.js]
function testClick() {
alert('CLICK');
}
$.index.open();
如果您需要,请下载该项目: https://www.dropbox.com/s/t3h6mchsb0e5bdh/ListViewBugTemplateClick.zip?dl=0
答案 0 :(得分:1)
你需要使用 onItemclick C是小写的,它应该有效,但删除它onClick <ItemTemplate name="temp1" onClick="testClick">
<ListView id="list1" defaultItemTemplate="temp1" height="200" separatorColor="transparent" top="10" onItemclick="testClick">
<Templates>
<ItemTemplate name="temp1">
<View backgroundColor="blue">
<View backgroundColor="red" width="60%" height="90%">
<Label bindId="label1"/>
</View>
</View>
</ItemTemplate>
</Templates>
<ListSection headerTitle="Click DON'T WORK!" fontSize="12">
<ListItem label1:text="01" label1:touchEnabled="false" label1:touchable="false" />
<ListItem label1:text="02"/>
<ListItem label1:text="03" />
</ListSection>
</ListView>