钛合金ListView自定义模板单击不工作

时间:2017-04-27 22:22:20

标签: appcelerator-titanium appcelerator-alloy

我在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

1 个答案:

答案 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>