列表视图行在行的右端有一个可单击的图像。 我在图像上应用了一个选择器(点击蓝色背景) 触摸行的任何部分,图像会改变颜色。 我希望它只显示图像视图区域的蓝色背景
<ImageView
android:id="@+id/sample"
android:layout_width="55dp"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical"
android:duplicateParentState="false"
android:background="@drawable/button_selector"
>
</ImageView>
答案 0 :(得分:1)
这是因为您的imageView在listview中具有焦点和消费点击事件,因此您必须添加:
<ImageView
android:id="@+id/sample"
android:layout_width="55dp"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical"
android:duplicateParentState="false"
android:background="@drawable/button_selector"
android:focusable="false"
</ImageView>
现在如果你点击它时在右边的地方(在适配器getView内)设置了imageView点击监听器,它就会改变,当你点击其他列表项目视图时它就不会响应。
你也可以用另一种方式来做。而不是使用imageView单击侦听器使用listItemclick侦听器并使用视图传递给您,并使用View·getCurrentFocus()查看是否单击了哪个项目,以查看它是否是您的imageview。