【解决】Listview 嵌套ListView/ScrollView 导致item点击无效

原创 2016年08月29日 19:47:07

开发用到的:点击歌曲列表的item,希望能让每个item都能展开,列出所具有的打点记录。

情况:

开发中很常见的一个问题:会发生点击每一个item的时候没有反应,无法获取的焦点。

原因:

  • 1.在自己定义的Item中存在如:ImageButton,Button,CheckBox等子控件(或是Button或者Checkable的子类控件)
  • 2.此时这些子控件会得到焦点,导致当点击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”的属性就

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nzfxx/article/details/52355968

ListView中嵌套ScrollView,ScrollView拦截ListView的Item点击事件的解决办法

在listview中嵌套ScrollView,发现横滑竖滑都正常,但是无法单击Listview的Item。查询android分发机制后解决,继承Listview重写Listview的onInterce...
  • qq_29744607
  • qq_29744607
  • 2016-06-03 08:01:06
  • 1342

Android 解决 ListView的item中嵌套ScrollView,ScrollView拦截ListView的Item点击事件的解决办法

前沿:有时候,listview 的item要显示的字段比较多,考虑到显示问题,item外面不得不嵌套ScrollView来实现,于是问题来了,当listview需要做点击事件时,由于ScrollVie...
  • jky_yihuangxing
  • jky_yihuangxing
  • 2016-10-28 14:36:23
  • 957

scrollView与Listview的事件分发冲突解决方案

  • 2014年12月02日 14:31
  • 1.64MB
  • 下载

解决ScrollView中嵌套ListView滚动效果冲突问题 & ListVIew点击事件失效

记录下自己所犯的错误,在写ListView的点击事件时OnItemClickListener,onItemClick方法没有执行,导致ListView条目点击事件失效,检查发现百度上有很多不同的答案,...
  • mlj1668956679
  • mlj1668956679
  • 2014-11-13 20:36:17
  • 2246

ScrollView嵌套ListView处理事件冲突

当ListView嵌套在ScrollView中时会有两个问题 列表内容显示不全 滑动事件冲突 第一个问题可以参考ScrollView与ListView嵌套仿微博个人主页中的解决方法。第二个问题就是下面...
  • Wisimer
  • Wisimer
  • 2015-10-26 17:03:55
  • 1947

Android ScrollView和ListView事件冲突问题解决方法

不知道有没有朋友遇到这种问题:就是当你一个ScrollView里面包含一个ListView的时候,你会发现一个问题:当listview里面的item条目过多的时候,在Listview中只会显示一部分,...
  • qq_26888925
  • qq_26888925
  • 2016-07-27 12:02:48
  • 613

笔记33--ListView和ScrollView点击事件的冲突

第一种方式: 在ListView的item
  • mwj_88
  • mwj_88
  • 2014-05-27 15:49:19
  • 3050

ScrollView嵌套使用ListView时遇到,Item显示不全问题

在使用ListView时遇到,Item显示不全问题,于是我自定义了Listview去掉了子Listview 的滚动条,发现问题还没解决,最后有了牛人指点的设定嵌套listview高度的方法。再把方法稍...
  • javaSXL
  • javaSXL
  • 2017-01-08 15:59:50
  • 1180

四种方案解决ScrollView嵌套ListView问题

四种方案解决ScrollView嵌套ListView问题
  • u010375364
  • u010375364
  • 2016-07-14 17:32:04
  • 35956

Android 中listview嵌套listview,外面listview的item点击事件失效

在外层ListView的Item的Xml文件的最外部加上这句话: android:descendantFocusability="blocksDescendants" 解释下这句话: AP...
  • zhou114108
  • zhou114108
  • 2016-12-07 10:43:25
  • 2233
收藏助手
不良信息举报
您举报文章:【解决】Listview 嵌套ListView/ScrollView 导致item点击无效
举报原因:
原因补充:

(最多只允许输入30个字)