ListView点击事件无效或item点击事件无效
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ListView点击事件无效或item点击事件无效相关的知识,希望对你有一定的参考价值。
参考技术A 我们在开发过程中可能会遇到点击ListView或者RecyclerView的点击事件无效,可能就是因为item中含有Button、CheckBox等控件,它们会抢占该item本身的焦点,导致ListView本身点击事件失效,解决方式一般有3种,下边我们就来看具体有哪3种解决方式。1>:把Button、CheckBox替换为 TextView、ImageView;
2>:设置Button、CheckBox的focuable 为false;
3>:设置ListView的item的根布局android:descendantFocusability="blocksDescendants",一般推荐第三种,意思是ListView的item下边所有的子控件都不能获取焦点。
android:descendantFocusability的值有3种,其中ViewGroup指的是设置这个属性的View,在这里就指的是ListView的item的根布局:
ListView setOnItemClickListener无效原因分析
如果在ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是Item本身
能够获取Focus,所以点击Item无法获取点击响应。可以通过以下两种方法之一进行解决:
1、在button、checkbox对应的view处加上
android:focusable="false"
android:clickable="false"
android:focusableInTouchMode="false"
2、在Item处最多层添加属性
android:descendantFocusability="blocksDescendants"
以上是关于ListView点击事件无效或item点击事件无效的主要内容,如果未能解决你的问题,请参考以下文章
Android中Listview点击item不变颜色以及设置listselector 无效
解决element-ui 下拉el-dropdown-item添加点击事件@click无效
vue中使用轮播图插件carousel,克隆的图片点击事件无效的解决办法