我有一个带有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>
答案 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.
}