Titanium Alloy ListView 自定义模板点击不工作
Titanium Alloy ListView Custom Template Click Not Working
我在 ListView 上使用带有内部视图的自定义模板,但点击不起作用。我试图在内部的所有视图上禁用 touchEnabled,但仍然没有。
在下面的示例和我包含的附件中,有两个 ListView,一个带有内部视图的模板,另一个带有内部没有视图的模板的 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
您需要使用 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>
我在 ListView 上使用带有内部视图的自定义模板,但点击不起作用。我试图在内部的所有视图上禁用 touchEnabled,但仍然没有。
在下面的示例和我包含的附件中,有两个 ListView,一个带有内部视图的模板,另一个带有内部没有视图的模板的 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
您需要使用 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>