添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Latest commit

History

History
20 lines (16 loc) · 1.1 KB

ListView、RecycleView的item点击事件无效.md

File metadata and controls


ListView、RecycleView的item点击事件无效
产生的原因是应为item的布局中又有CheckBox、Button、RadioButton、EditText等控件的存在,优先获取焦点,导致父布局的点击事件失效。
解决方案:
1.将Button、CheckBox的实现替换为TextView、ImageView。
2.若是不能替换,就讲item布局中这些view的focusable属性设置为false。
3.设置ListView的item的根布局android:descendantFocusability=“blocksDescendants”,一般推荐第三种,意思是ListView的item下边所有的子控件都不能获取焦点。

android:descendantFocusability的值有3种,其中ViewGroup指的是设置这个属性的View,在这里就指的是ListView的item的根布局:

beforeDescendants:ViewGroup会优先其子类控件而获取到焦点
afterDescendants:ViewGroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:ViewGroup会覆盖子类控件而直接获得焦点

Written with StackEdit.