我的Android进阶之旅------>Android中ListView中嵌套(ListView)控件时item的点击事件不起作的问题解决方法
2017-05-18 12:30
926 查看
开发中经常须要自定义Listview,去继承BaseAdapter,在adapter中依照需求进行编写,问题就出现了,可能会发生点击每个item的时候没有反应,无法获取的焦点。
假设你的自己定义ListViewItem中有Button、ImageButton或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus。
所以经常当点击item时变化的是子控件,item本身的点击没有响应。
这时候就能够使用descendantFocusability属性来解决,他能够设置一个控件怎样处理触摸事件,
该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。
属性的值有三种:
android:descendantFocusability="blocksDescendants" //viewgroup会覆盖子类控件而直接获得焦点android:focusable="false" android:descendantFocusability="beforeDescendants" //viewgroup会优先其子类控件而获取到焦点 android:descendantFocusability="afterDescendants" //viewgroup仅仅有当其子类控件不须要获取焦点时才获取焦点
因此我们能够通过对Item Layout的根控件设置其android:descendantFocusability=”blocksDescendants”来解决。这样Item Layout就屏蔽了全部子控件获取Focus的权限,如此就能够顺利的响应onItemClickListener中的onItenClick()方法了。
====================================================================================
作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:http://blog.csdn.net/ouyang_peng
====================================================================================
[align=left] [/align]
相关文章推荐
- 我的Android进阶之旅------>Android中ListView中嵌套(ListView)控件时item的点击事件不起作的问题解决方法
- Android中ListView中嵌套(ListView)控件时item的点击事件不起作的问题解决方法
- ListView中嵌套(ListView)控件时item的点击事件不起作的问题解决方法
- Android-ListView中嵌套(ListView)控件时item的点击事件不起作用的问题
- Android ListView的Item点击事件和Item里控件点击事件冲突问题解决
- Android 解决listView item点击事件被其他控件屏蔽的问题
- ListView中item点事件和item中的控件点击事件冲突的简易解决方法
- Android ListView item 点击事件失效问题的解决
- ListView点击事件失效(item里面有button按钮控件)解决方法
- Android ListView item 点击事件失效问题的解决
- 解决ScrollView中嵌套ListView滚动效果冲突问题 & ListVIew点击事件失效
- ListView点击事件失效(item里面有button按钮控件)解决方法
- 我的Android进阶之旅------>Android字符串资源中的单引號问题error: Apostrophe not preceded by 的解决的方法
- 解决Listview中Item中控件设置点击事件而Item点击事件失效问题
- 自定义SwipeRefreshLayout 嵌套listview 并解决item点击事件焦点冲突问题
- Android ScrollView里嵌套Listview,造成Listview的Item显示1行问题的最正确的解决方法
- Android listview&gridview getview 方法多次调用问题解决方法--->导致gridview错位
- Android 中ListView的Item点击事件失效的快速解决方法
- Listview点击事件失效问题解决以及每个Item 子控件获取focus
- Android 解决 ListView的item中嵌套ScrollView,ScrollView拦截ListView的Item点击事件的解决办法