从按下的ListView项目保持子视图的未按下状态

时间:2012-02-15 19:57:02

标签: android listview view state

我有一个ListView,其中包含每个项目中带有ImageView的项目。此ImageView具有OnClickListener。我设置了一个XML背景来设置压缩和正常状态的drawable。 ListView上的onItemClick和ImageView上的onClick按预期触发,但事实是当我点击项目(而不是ImageView)时,它还会在ImageView上显示按下的状态。在这种情况下,我想在ImageView上保持正常状态...

我尝试了duplicateParentState =“false”,玩了焦点等等。我还没找到解决方案。

有没有人知道如何解决这个问题?

谢谢你, 二万

2 个答案:

答案 0 :(得分:1)

我通过将clickable属性添加到listview项的内部项来解决了这个问题。在该列表视图项之后不与视图共享按下状态,这些视图是可点击的。

只需添加:

   android:clickable="true"

(在4.1上测试)

希望这对某人有帮助,我个人无法找到这么简单的解决方案。

答案 1 :(得分:0)

我在ListView的一些实验中发现,listitem中只有一个元素可以支持onClickListener - 我还没有找到任何支持这个想法的文档。

例如,如果您列出包含复选框或评级栏的项目,那么我将无法为其包含在

中的列表项目触发onClick事件