listview中有button,强占条目的点击事件
来源:互联网 发布:恐怖视频制作软件 编辑:程序博客网 时间:2024/05/20 10:10
在平常的开发过程中,我们的ListView可能不只是简单的显示下文本或者按钮,更多的是显示复杂的布局,这样的话,我们就得自己写布局和自定义adapter了,一般是继承于BaseAdapter,示例代码见下方。写ListView的点击事件时OnItemClickListener,onItemClick方法没有执行,导致ListView中Item条目点击事件失效,而Item中的View点击事件可以在getView方法中进行处理。导致整个Item点击失效的原因多半是由于在你自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也可以说是Button或者Checkable的子类控件),此时这些子控件会将焦点获取到,所以常常当点击item时变化的是子控件,item本身的点击没有响应。
这时候就可以使用descendantFocusability来解决,其中descendantFocusability对应的属性有3个
该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。
属性的值有三种:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
解决方法
1、通常我们用到的是第三种,即在Item布局的根布局加上android:descendantFocusability=”blocksDescendants”的属性就好了。
ps:有时我们的List也不想显示出分割线时,可以通过以下属性来设置:
2、被点击的控件如ImageButton中添加属性android:focusable="false"
优化的listView代码写法
有时一些代码段真的很容易忘记,比如常用的ScrollView嵌套listView的,要屏蔽listview的滑动
阅读全文
0 0
- listview中有button,强占条目的点击事件
- listview当条目中有按钮的点击事件
- Android ListView中item条目点击被item上的button点击事件抢夺的解决方案
- Android ListView item中有按钮(Button)不能点击或者条目不能点击的问题
- Android:处理ListView条目中的Button的点击事件和条目点击事件冲突
- listview的条目中有button,或item点击失效的解决方案
- ListView条目中有CheckBox点击事件失效问题
- 如何判断listview同一条目被多次点击 listview每个条目中有一个button 点击button可以删除条目中的数据
- ListView中Button的点击事件
- ListView中Button的点击事件冲突
- 解决Android中Listview条目里面有checkbox、radiobutton无法响应条目点击事件
- Android中listview条目中按钮点击事件的实现
- ListView中每个item条目上控件的点击事件
- ListView中添加Button后,Button的点击事件和ListView的点击事件冲突
- ListView中添加Button后,Button的点击事件和ListView的点击事件冲突
- ListView中添加Button后,Button的点击事件和ListView的点击事件冲突
- ListView中添加Button后,Button的点击事件和ListView的点击事件冲突
- Android中ListView的条目中有button时,item和button抢焦点问题
- TensorFlow CNN示例详解
- 专访捷顺科技:“停车老司机”的智慧生态构想
- iOS图形处理和性能
- 唯快不破:高性能网络服务器5--IO复用与并发模型
- linux screen 命令详解
- listview中有button,强占条目的点击事件
- python hmac
- Android 在一个activity中关闭另一个activity
- rt-thread测试
- 每个人都该知道的六大科技定律
- javac命令编译java文件成class文件出现中文乱码问题解决
- IntelliJ IDEA重置配置设定
- 机器学习sklearn iris数据集官方demo
- 程序员那些不得不说的事之“面试篇”