Android开发中listView的item无法获取焦点
android:descendantFocusability用法简析
开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点。原因多半是由于在你自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也可以说是Button或者Checkable的子类控件),此时这些子控件会将焦点获取到,所以常常当点击item时变化的是子控件,item本身的点击没有响应。
这时候就可以使用descendantFocusability来解决啦,API描述如下:
android:descendantFocusability
Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus.
Must be one of the following constant values.
该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。
属性的值有三种:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
通常我们用到的是第三种,即在Item布局的根布局加上android:descendantFocusability=”blocksDescendants”的属性就好了,至此listview点击的灵异事件告一段落。心得:遇到不会不懂的地方除了网上查询资料之外,也可以多多去尝试每种属性的作用,多阅读官方文档(我始终觉得还是读原文的比翻译的理解的会更好)。
转自 http://www.cnblogs.com/eyu8874521/archive/2012/10/17/2727882.html 感谢他
转载于:https://blog.51cto.com/poarry/1560414
Android开发中listView的item无法获取焦点相关推荐
- Android开发中ListView多屏的全选、反选功能
[size=medium] 鄙人最近刚开始学习Android,在练习的时候写到一个ListView的全选反选功能.本来以为这个功能很简单,随随便便就能搞定,结果真的下手去做的时候被虐的死去活来,不知道 ...
- android 中自定义安装,Android开发中ListView自定义adapter的封装
[引入] 我们一般编写listView的时候顺序是这样的: •需要展示的数据集List •为这个数据集编写一个ListView •为这个ListView编写一个Adapter,一般继承自BaseAda ...
- android listview下拉动画效果,Android开发中利用ListView实现一个渐变式的下拉刷新动画...
Android开发中利用ListView实现一个渐变式的下拉刷新动画 发布时间:2020-11-23 16:50:31 来源:亿速云 阅读:80 作者:Leah 本篇文章给大家分享的是有关Androi ...
- android 开发中不可不知的技巧
转载自 https://github.com/jiang111/awesome-android-tips awesome-android-tips Android tips English_Versi ...
- Android 开发中一些很有用但你不知道的方法
English_Version:https://github.com/jiang111/awesome-android-tips/blob/master/README-en.md这里收集了大家常用的一 ...
- Android 系统(188)---Android开发:ListView、AdapterView、RecyclerView全面解析
Android开发:ListView.AdapterView.RecyclerView全面解析 目录 ListView.AdapterView.RecyclerView全面解析.png Adapter ...
- android开发中遇到的问题汇总
android开发中遇到的问题汇总(五),android汇总127.ANDROID仿IOS时间_ANDROID仿IOS弹出提示框 http://dwtedx.com/itshare_297.html1 ...
- Android开发中,那些让你相见恨晚的方法、类或接口
getParent().requestDisallowInterceptTouchEvent(true);剥夺父view 对touch 事件的处理权,谁用谁知道. ArgbEvaluator.eval ...
- 浅谈Android开发中的NFC功能
目录 1."NFC"的自我描述 1.1 NFC功能的基本概念 1.2 NFC功能的背景.特性及发展趋势 2.NFC的基础知识.基本原理 2.1 NFC的工作模式 2.2 实现NFC ...
- Android开发中StackOverflowError错误实例分析
http://blog.csdn.net/mozhizun/article/details/7051300 http://blog.csdn.net/gaomatrix/article/details ...
最新文章
- 2018-8-22-粒子滤波
- R语言manova函数进行多元方差分析(Multivariate analysis of variance 、MANOVA)、如果多变量检验结果有显著性,summary.aov函数锦欣单变量方差分析
- 第四章 .net core做一个简单的登录
- 有一种爱,永远也无法逾越
- SparkSubmit源码解读记录
- Linux脚本统计指定目录下文件和文件夹数量
- django-ckeditor表情包修改
- java substring 实例_JAVA中截取字符串substring用法
- 计算机刷bios版本,主板刷bios的6种方法,电脑刷bios方法-
- idea中字体由繁体变简体
- 微信扫码支付模式一 : 获取商户订单信息超时或者商户返回的httpcode非200
- Olly's Shadow
- Excel如何条件求和
- 网络复现之基于TPS的STN网络
- java: 找不到符号 符号: 方法 getResourceAsStream(java.lang.String) 位置: 类 com.alibaba.druid.support.loggi
- 川土微电子 | CA-IF1051 CAN-FD收发器
- Spring框架究竟是什么
- 身为一个程序媛的深刻自我检讨
- 7. MyBatis多表查询 - 一对一 - 一对多 - 多对多
- 「多校联考」第三周二场
热门文章
- java第二章_Java第二章基本语法
- go中break continue的使用:示例
- 学生选课系统代码-6-conf配置层
- golang语言中的关于err的函数封装事项的函数使用
- 单网卡同时上内外网_Win10双网卡上网冲突(内网、外网)
- 机器学习基础 -- 李宏毅2020机器学习课程笔记(一)
- 浙江理工大学机械复试c语言真题,2016年浙江理工大学机械与自动控制学院计算机应用基础)之C程序设计复试笔试最后押题五套卷...
- 个人博客网站的设计与实现_使用hexo来搭建个人网站博客(超详细教程)
- 物联网未来已来,新零售已处在巨变前夕
- Java阻塞IO与非阻塞IO