我的布局中有一个ImageView,用于列表中的各个项目。列表项点击触发子视图的选择器
ImageView的src是可绘制文件夹中的一个XML文件,用于定义在按项目的各种状态期间使用哪些图像。
但是,我注意到,当您单击列表行(而不是ImageView本身)时,分配给ImageView的选择器被激活。它实际上并没有击中ImageView的onClick代码,但图像像点击一样切换。
在某些情况下,这实际上是一个理想的效果,但在这种情况下并非如此。有没有办法阻止这种情况的发生?
我的布局中有一个ImageView,用于列表中的各个项目。列表项点击触发子视图的选择器
ImageView的src是可绘制文件夹中的一个XML文件,用于定义在按项目的各种状态期间使用哪些图像。
但是,我注意到,当您单击列表行(而不是ImageView本身)时,分配给ImageView的选择器被激活。它实际上并没有击中ImageView的onClick代码,但图像像点击一样切换。
在某些情况下,这实际上是一个理想的效果,但在这种情况下并非如此。有没有办法阻止这种情况的发生?
我认为你应该阅读Cyril Mottier的博客。他有一个关于这个here的帖子。
总之,你要伸出你的孩子的意见要覆盖的方法setPressed(boolean)
这样的:
@Override
public void setPressed(boolean pressed) {
if (pressed && getParent() instanceof View && ((View) getParent()).isPressed()) {
return;
}
super.setPressed(pressed);
}
设置儿童android:duplicateParentState
到true
您可以发布您的代码为我们好吗? – BlackHatSamurai 2012-07-13 16:29:04
完全取决于你如何实施它。也许有些代码可以帮助我们弄清楚。 – Shubhayu 2012-07-13 17:23:14
除了XML之外,没有什么可以真正展示给你的...... – Andrew 2012-07-13 17:45:37