Android ListView 条目上有 CheckBox 抢焦点的处理办法

Android ListView About 429 words

方法一

在CheckBox的父布局上设置属性

android:descendantFocusability="blocksDescendants"

该属性使子布局的焦点按各自的区块划分,这样CheckBox抢焦点的范围仅限于自身,不会把整个item的焦点都抢走。这种设置方式会使得checkbox有自己的响应事件,同时CheckBox之外的item区域也可以响应自己的点击事件。

方法二

在CheckBox布局里设置属性

android:focusable="false"
android:clickable="false"
android:enabled="false"

使得CheckBox完全不能获得焦点、不可被点击、不能响应点击事件。这样之后的效果就是CheckBox区域不会再有自己的事件,就算点击的CheckBox,也响应这个item的点击事件。同时要记得在item的点击事件中判断CheckBox的当前状态,并手动变更CheckBox的状态。

Views: 2,809 · Posted: 2019-04-09

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓


Today On History
Browsing Refresh