我的Android进阶之旅------>Android中ListView中嵌套(ListView)控件时item的点击事件不起作的问题解决方法
2023-09-11 14:20:43 时间
开发中经常须要自定义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
====================================================================================
相关文章
- 【Android】Android中ContentProvider组件详解
- [android] No resource found that matches the given name 'Theme.AppCompat.Light'
- 【黑马Android】(02)短信发送器/布局演示/android下单位/android下Junit/保存数据/android下权限/xml解析和序列化
- 【黑马Android】(01)android简介/工程目录结构/拨号器/四种点击事件/后台偷偷发短信
- Android API之android.view.View.MeasureSpec
- Android手机令牌教程
- Android学习笔记(38):Handler消息传递处理机制
- Android 弹出对话框Dialog充满屏幕宽度
- android内存分析
- Atitit.嵌入式web 服务器 java android最佳实践
- android 面试题 冒泡排序 选择排序 快速排序 插入排序
- Android 8.1 9.0 10.0 遥控器点击输入框 弹不出输入法
- Android四大组件之Activity & Fragement的异同
- 【Android Gradle 插件】Splits 配置 ④ ( Splits#language{} 脚本块配置 | 根据语言进行分包 | LanguageSplitOptions 配置简介 )
- 【Android Gradle 插件】build.gradle 中的 android 配置 ( 配置项 | compileSdkVersion 配置 | buildToolsVersion 配置 )
- 【Android Gradle 插件】Module 目录下 build.gradle 配置文件 ( android 闭包块配置 | AppExtension 扩展类型参考文档 )
- 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | dvmDexFileOpenPartial | dexFileParse | 脱壳点 | 获取 dex 文件在内存中的首地址 )
- 【Android 逆向】Android 逆向基本概念 ( 定位内存中的修改点 | 基址寻址法 | 搜索定位法 )
- 【Android 插件化】“ 插桩式 “ 插件化框架 ( 类加载器创建 | 资源加载 )
- Android清单文件具体解释(三)----应用程序的根节点<application>
- Android 手势&触摸事件
- android BaseFragment获取Context上下文方法
- android "Missing type parameter" 错误
- Android Fragement学习笔记(三)----PreferenceFragment的使用
- Android中Intent传递对象的两种方法:Serializable & Parcelable
- 使用Android Studio build tensorflow/examples/android——直接用android studio即可
- 迁移到Android后android.support.v4.content.FileProvider运行崩溃