android:descendantFocusability——父容器和子控件的焦点获取问题
来源:互联网 发布:天刀男性捏脸数据导入 编辑:程序博客网 时间:2024/06/06 14:29
在项目中会遇到这样的问题:自定义ListView的Item时,会出现点击每一项Item没有任何反应。我们重新来看一下自己定义的Item布局文件,一般这个时候自定义的Item布局文件中都会出现类似于Button、ImageButton、CheckBox等子控件。而这些子控件率先获取了ListView的Item的焦点,使得我们点击ListView的每一项Item的时候,就出现了点击哪一项都没有反应的情况。
我们来看Android官方文档是怎么给出解决方案的:
public static final int descendantFocusability
Added in API level 1
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.
beforeDescendants
0The ViewGroup will get focus before any of its descendants.afterDescendants
1The ViewGroup will get focus only if none of its descendants want it.blocksDescendants
2The ViewGroup will block its descendants from receiving focus.Constant Value: 16842993 (0x010100f1)
通过android:descendantFocusability这个属性可以解决上面的问题。这个属性定义了当一个焦点要传递给父容器或者子控件时,父容器和子控件之间获得焦点的关系。具体值如下:
beforeDescendants:父容器会比其子控件率先获得焦点。
afterDescendants:如果没有任何子控件要获得焦点的话,那么父容器才会获得焦点。
blocksDescendants:父容器会阻止其子控件获得焦点(也就是说焦点会由父容器获得)。
所以最后的解决方案是:在自定义的Item布局文件的根布局中加上android:descendantsFocusability="blocksDescendants"
就可以了。
0 0
- android:descendantFocusability——父容器和子控件的焦点获取问题
- android:descendantFocusability——父容器和子控件的焦点获取问题
- android:descendantFocusability——父容器和子控件的焦点获取问题
- android:descendantFocusability 焦点 父控件与子控件焦点
- android:descendantFocusability 焦点 父控件与子控件焦点
- android:descendantFocusability 焦点 父控件与子控件焦点
- listview中android:descendantFocusability子控件和整个Item获取焦点事件处理
- ListView 的item和子控件之间的焦点用法:android:descendantFocusability用法简析
- android关于Listview中定义了子控件,子控件和item同时获取焦点的问题
- android:控件焦点问题 descendantFocusability用法简析
- Android 容器焦点设置 android:descendantFocusability
- 通过android:descendantFocusability解决listview每一项或项中view无法获取焦点的问题
- 容器与子类焦点优先——descendantFocusability
- 关于GridView中Item和其子控件获取焦点的问题
- ListView子控件获取焦点问题
- ListView子控件获取焦点问题
- android:descendantFocusability用法简析 解决listview中子控件导致item不能获取焦点
- android ListView的item与其子控件的焦点问题
- android手机分辨率,xDpi,yDpi,尺寸等各种相关物理参数
- HDU 1003 Max Sum
- mysql5.7.14解压版的安装
- The Beautiful Path
- Ubuntu 10.04内核源码树的编译和安装
- android:descendantFocusability——父容器和子控件的焦点获取问题
- 正则表达式的相关知识
- Sublime Text3--打造完美的Markdown编辑器
- 守护进程(精灵进程)
- 1.8.ARM裸机第八部分-按键和CPU的中断系统
- java__if摄氏温度转化华氏温度
- 搭建ssm请假系统遇到的问题
- HDUOJ #1197 Specialized Four-Digit Numbers/c++
- Java RMI 框架(远程方法调用)