Android listview的item点击事件怎么失效了

 我来答
千锋教育
2016-01-13 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部

  原因多半是由于在自己定义的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和其子控件两者之间的关系。

  属性的值有三种:

  1. beforeDescendants:viewgroup会优先其子类控件而获取到焦点

  2. afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

  3. blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点

  通常用到的是第三种,即在Item布局的根布局加上android:descendantFocusability=”blocksDescendants”的属性就好了

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式