使用ListView开发列表的时候,使用
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
}
方法后点击没有回调点击事件;
原因:
Item列表项中有可点击控件获取了焦点,优先获取了点击处理权;
解决方法:
1.给列表项里面的控件添加以下属性
android:focusableInTouchMode="false"
android:clickable="false"
android:focusable="false"
2.在ListItem布局文件中的根控件下添加以下属性,使其子控件不能获焦:
descendantFocusability属性
3.当ListItem中有自定义控件的时候 ,通常这个自定义是一个组合控件,给这个自定义控件设置不可获焦时,其中组成这个自定义控件的内部控件,如Button等,有可能还是能够获取焦点的,需要在代码里给其设置不可点击属性
myButton.setClickable(false);