Android使用ListView中给控件设置了“android:clickable=“false“属性,Item点击依然没有回调

        使用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);

猜你喜欢

转载自blog.csdn.net/weixin_42433094/article/details/110771687