在ListView的onClick上获取嵌套项

时间:2013-02-21 13:36:02

标签: android listview

我有一个带有nestem LinearLayout和多个ImageView的row_item.xml。它在ListView的每一行中生成2 x 2图像网格。 on onClick aI想知道用户点击了哪个图片项目。

在onClick方法中,我试图使用item.getClass()查看哪个项目实际来了,它显示了LinearLayout。我相信这将是行项目中的顶级布局。这是我的行项目骨架布局。我正在寻找一些通用的方法,我可以在任何深度获得点击项目。

<LinearLayout>
       <LinearLayout>
           <ImageView> </ImageView>
           <ImageView> </ImageView>
       </LinearLayout>         

       <LinearLayout>
           <ImageView> </ImageView>
           <ImageView> </ImageView>
       </LinearLayout>         
</LinearLayout>

2 个答案:

答案 0 :(得分:0)

您可以通过在声明listView的xml中设置适当的选项来设置可点击的图像视图。然后只需将onclickListeners添加到您的imageViews。 对我来说,有效的解决方案是设置:

clickable
focusable
focusableInTouchMode

true 。如果你已经完成了这个,你可以在你的适配器getView / bindView setonClickListeners到你的imageview。

答案 1 :(得分:0)

对于每个ImageView,添加以下内容:

android:clickable="true"
android:onClick="myOnClickFunction"

并添加如下代码:

public void myOnClickFunction(final View imageView) {
    // imageView.getId() - actual image view id.
}