本文主要是介绍android:descendantFocusability——父容器和子控件的焦点获取问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在项目中会遇到这样的问题:自定义ListView的Item时,会出现点击每一项Item没有任何反应。我们重新来看一下自己定义的Item布局文件,一般这个时候自定义的Item布局文件中都会出现类似于Button、ImageButton、CheckBox等子控件。而这些子控件率先获取了ListView的Item的焦点,使得我们点击ListView的每一项Item的时候,就出现了点击哪一项都没有反应的情况。
我们来看Android官方文档是怎么给出解决方案的:
public static final int 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.
Constant | Value | Description |
---|---|---|
beforeDescendants | 0 | The ViewGroup will get focus before any of its descendants. |
afterDescendants | 1 | The ViewGroup will get focus only if none of its descendants want it. |
blocksDescendants | 2 | The ViewGroup will block its descendants from receiving focus. |
这篇关于android:descendantFocusability——父容器和子控件的焦点获取问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!