ListView的每个Item中会有一些button、TextView等,有点击效果,而且这些点击效果都会设置成selector,当被pressed时,会有颜色的变化,问题出来了,当点击Item(不在button、textview范围内)时,android系统会自动将此pressed效果传给item中的每个控件,也包括可以相应click的控件,此时背景为selector的控件,就会变成另一种状态,所以就请教各位,如何使点击Item时,不讲该动作传递给其中的控件
上图为校内一个ListItem(当然不能保证就一定是ListItem),当点击item时,是不会将p
ressed状态传递给 评论(加号) 按钮的,不知是怎么实现,求教了

解决方案 »

  1.   

    item 跟节点 android:descendantFocusability="blocksDescendants"实现共存
      

  2.   


    不是焦点争夺的问题,是item有pressed的动作后,会传给item中的其他控件,比如说,图片中的 + 号,因为该控件的背景是selector,因此当没有点击该控件时,也会有pressed的状态变化
      

  3.   

    我也是遇到了这个问题,最后看的这篇文章,http://stackoverflow.com/questions/3858220/gallery-adapterview-child-drawable-state,在外层包一个自定义的Layout,并重写setpressed方法,方法里面就一句话:super.setPressed(false);即可
      

  4.   

    太感激4楼了,测试给我提了个小bug,我搞了几天也没解决,终于有头绪了。