您的位置:首页 > 移动开发 > Android开发

android:descendantFocusability用法简析(listview的item点击无响应问题)

2015-10-29 12:54 330 查看
问题描述:

在开发中,我们会常遇到这样的问题,点击ListView中的Item项没有响应,无法获取焦点。原因多半是在Item项中包含了ImageButton、Button或者CheckBox等子控件,这些空间优先于你的Item获得焦点,从而导致点击Item没有响应。

解决方案:

这时,我们只需在Item布局文件中添加desendantFocusability属性就解决了。

该属性定义了一个View获取焦点时,其viewGroup和其子控件两者之间的关系。有三种关系:

1)beforeDesendants:表示ViewGroup会优先于子类空间而获得焦点。

2)afterDescendants:表示ViewGroup只有当其子控件不需要获取焦点时才获取焦点。

3)blocksDescendants:表示ViewGroup会覆盖子控件直接获取焦点。

通常情况下,我们会采取第三种方式。在Item布局文件中添加该属性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: