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