在使用Adapter的时候,总是会自定义Layout,在一个Item中,你可能会加入Button、ImageButton、TextView等子控件,那么这些子控件可能就会获取焦点,导致Item本身的点击无响应的bug。
解决方法:在Item的根布局中加上
android:descendantFocusability="blocksDescendants"
该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。
属性的值有三种:
beforeDescendants:viewgroup 会优先其子类控件而获取到焦点
afterDescendants:viewgroup 只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup 会覆盖子类控件而直接获得焦点