Android ListView中的checkbox事件拦截

原创文章,如有转载,请注明出处:http://blog.csdn.net/myth13141314/article/details/60866188

ListView中可能会包含很多的可点击控件,会造成ListView的点击和子控件的点击事件冲突。这里以CheckBox为例,当只需要响应ListView的点击事件而需要CheckBox不能被点击时,只需要对CheckBox进行简单的设置即可:

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

以上对CheckBox的clickable和enabled属性设置为false后,CheckBox就不能响应点击事件了。

还有一种情况是ListView和CheckBox都需要点击事件,这时候就会有焦点冲突,导致ListView点击没反应,解决办法如下:

//在包含CheckBox的根布局里面加入如下设置
android:descendantFocusability="blocksDescendants"

你可能感兴趣的:(Android)