ListView的焦点问题

往ListView的Item中添加了Button,CheckBox,EditText等控件的话,你可能需要考虑 到一个问题:ListView的一个焦点问题

 

方法一:为抢占了控件的组件设置:android:focusable="false"

 

方法2:item根节点设置android:descendantFocusability="blocksDescendants"

在Item布局的根节点添加上述属性,android:descendantFocusability="blocksDescendants" 即可,另外该属性有三个可供选择的值:

  • beforeDescendants:viewgroup会优先其子类控件而获取到焦点
  • afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
  • blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
posted @ 2021-03-02 11:05  大雄的脑袋  阅读(120)  评论(0)    收藏  举报