在ListView的adapter里面写了item的点击事件和整行的点击事件冲突
2015-07-28 18:27
337 查看
通常默认能获得focus的控件有Button,Checkable继承来的所有控件,这就意味着如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,所以item中的子控件的focus必须为false,这样item才能获取onItemClick事件,(RatingBar中有个isIndicator属性表示RatingBar是否是指示用的,应该设为true,不然也获取不到焦点)
1.将ListView的Item Layout的子控件focusable属性设置为false
2.对Item Layout的根控件android:descendantFocusability="blocksDescendant"
解释一下:
1中说的子控件就是你在adapter里面设置点击事件的那个子控件,在xml文件里面(也就是list 的item的layout文件)给加上
android:focusable="false"
2中说的根控件就是(也就是list 的item的layout文件)的最外面一层的布局 加上这个
android:descendantFocusability="blocksDescendants"
这样的话就可以实现2不相干的点击事件的实现了。
1.将ListView的Item Layout的子控件focusable属性设置为false
2.对Item Layout的根控件android:descendantFocusability="blocksDescendant"
解释一下:
1中说的子控件就是你在adapter里面设置点击事件的那个子控件,在xml文件里面(也就是list 的item的layout文件)给加上
android:focusable="false"
2中说的根控件就是(也就是list 的item的layout文件)的最外面一层的布局 加上这个
android:descendantFocusability="blocksDescendants"
这样的话就可以实现2不相干的点击事件的实现了。
相关文章推荐
- 黑马程序员——自学总结(七)图形用户界面GUI
- ios学习笔记-(oc基础-面向对象小系统)
- IOS-动画Animation
- Udev,在vsphere虚拟机上更改ip mac 网关
- mysql基准测试 -benchmarks
- 关于qt的问题构造函数的问题
- 【Java】对于空值null的判断
- Python在windows下的安装与配置
- jQuery对象合并、jQuery添加静态方法、jQuery添加DOM实例方法
- Android Studio 模拟器中文显示乱码解决方案
- 黑马程序员---函数的相关知识
- 天下武功尽出LAMP之PHP
- shell的数值计算,小数计算
- web地址的写法
- shell的数值计算,小数计算
- TCP之client.c和common.h
- openGL ES截屏
- 自己封装一个readline函数实现服务器客户端回射
- 【地理空间数据挖掘】相关性分析
- 月刊