如何从ListView打开新视图

时间:2016-11-09 11:00:13

标签: javascript android listview appcelerator-mobile appcelerator-alloy

我正在使用appcelerator工作室构建应用程序。在我的视图中,我已经使用"模板"插入自定义ListView。没关系。

这是我能看到的: enter image description here

现在我希望如果我点击其中一行,我可以打开另一个视图,宽度也有一些效果(例如滑块)。

这是我的xml文件的代码:

<Alloy>
    <View class="containerClinicalFolder" >

        <ListView id="elementsList" defaultItemTemplate="elementTemplate">
            <Templates>
                <ItemTemplate name="elementTemplate" class="itemTemplate">

                    <View id="atomProperties">
                        <Label bindId="name" id="name" />
                        <View id="secondLine">
                            <Label class="line2 fieldLabel" text="from: " />
                            <Label class="line2" bindId="dateStart" id="dateStart" />
                            <Label class="line2 fieldLabel" text=" to: " />
                            <Label class="line2" bindId="dateEnd" id="dateEnd" />
                        </View>
                        <Label bindId="quantity" id="quantity" left="0"/>
                    </View>
                </ItemTemplate>
            </Templates>
            <ListSection>               
                <ListItem quantity:text="10 minute" quantity:color="#090"  name:text="Hydrogen" dateStart:text="10-10-2016" dateEnd:text="10-12-2016"/>
                <ListItem quantity:text="15 minute" quantity:color="#090" name:text="Helium" dateStart:text="02-01-2015" dateEnd:text="10-10-2019"/>
                <ListItem quantity:text="25 minute" quantity:color="#090" name:text="Lithium" dateStart:text="01-01-2001" dateEnd:text="01-01-2018"/>
                <ListItem quantity:text="10 minute" quantity:color="#090"  name:text="Hydrogen" dateStart:text="10-10-2016" dateEnd:text="10-12-2016"/>

            </ListSection>
        </ListView> 


        <Button id="button" class="buttonLanguage" 
            visible="false" traduzione="true"></Button>

         <ImageView image="/images/add_circle_2.png" action="add" id="idImage" class="add"></ImageView>
    </View>
</Alloy>

那么,我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

将onItemclick事件添加到listView(为了便于阅读,我省略了模板):

<ListView id="elementsList" onItemclick="listItemClick">

现在在您的控制器中设置以下功能:

function listItemClick(e){ /* Open new window here. */ };

提示:您可以从事件数据(参数e)中获取点击行索引等信息。