天天看点

Android:ListView的点击事件与子控件点击冲突的解决

当listview中的itemview中含有button、CheckBox等这样的控件时,如果不进行任何设置,条目的点击事件会被itemView中的类似button这种控件所拦截,因此无法点击。 解决方案:给itemview中类似button按钮的控件设置:focusable="false" 给listview设置android:descendantFocusability= “blocksDescendants” 此时,无论是item的click还是itemview的click都是好用的,但是,button按钮的点击事件就要写在adapter中了,如果想在activity中写button的点击事件处理,就需要在adapter中定义公开的接口,通过接口回调来实现。其原理也是在适配器中,就为这个button添加上点击事件。