我的布局中有一个ImageView,用于列表中的各个项目。
ImageView的src是drawable文件夹中的XML文件,用于定义在按下项目的各种状态下要使用的图像。
但是,我注意到当您单击列表行(而不是ImageView本身)时,会激活分配给ImageView的选择器。它实际上并没有触及ImageView的onClick代码,但是图像会像点击一样切换。
在某些情况下,这实际上是一种理想的效果,但在这种特定情况下并非如此。有没有办法阻止这种情况发生?
答案 0 :(得分:11)
将子级中的android:duplicateParentState
设置为true
答案 1 :(得分:0)
我想你应该阅读Cyril Mottier的博客。他有关于此here的帖子。
总之,您必须将子视图扩展为覆盖方法setPressed(boolean)
,如下所示:
@Override
public void setPressed(boolean pressed) {
if (pressed && getParent() instanceof View && ((View) getParent()).isPressed()) {
return;
}
super.setPressed(pressed);
}