有时候listview的item布局比较复杂,里面可能包含了例如:imageButton或者button等可以直接点击的子控件,这些子控件会优先获取到点击事件的焦点,导致listview的item整体不能点击。
解决办法:
在item的根布局加一句话: android:descendantFocusability="blocksDescendants"
这句话的意思是这些button的父控件会覆盖子类控件直接获取焦点,从而相应item的点击事件。
android:descendantFocusability 的属性的值有三种:
beforeDescendants:父控件会优先其子类控件而获取到焦点
afterDescendants:父控件只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:父控件会覆盖子类控件而直接获得焦点