今天在写了个小需求,ListView里包含checkbox,点击ListView的item时要求将item的内容显示在一个TextView中(TextView不包含在item中),并同时改变checkbox的checked状态。
代码很简单,只是一开始并没有意识到ListView的item点击事件与checkbox的点击事件存在冲突,checkbox的点击事件优先级高于item的点击事件,所以在点击item的时候会没有反应。
查看google官方的文档,解决办法也很简单,都不需要改动代码,只需在布局文件中将checkbox的android:focusable
属性设置为false即可。
顺便贴一下ListView的onItemClick中的代码:
这样就实现了文章一开始的功能需求