【解决】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”的属性就

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android之ListView和ScrollView事件冲突

ListView和ScrollView事件冲突

ScrollView嵌套ListView——解决滑动冲突问题

//布局中的代码实现 一个简单的布局设置 演义滑动冲突<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" ...

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

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

listview的itemonclick在某种情况下点击无效

今天在做项目的时候遇到了这样的问题,先上界面图 在点击编辑按钮的时候会对列表进行状态改变 下面看一下代码 package com.hipad.classroom.activity...

listview嵌套scrollView后,listview的item无法点击

具体的原因是因为,scrollview嵌套了一层listview listview便成了scrollview的儿子。 根据google的事件传递的机制,父亲scrollview拦截了儿子listv...

android ListView解决Item点击无效

android:descendantFocusability用法简析     开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adap...

Android ListView的item点击无响应的解决方法

Android listview里的item布局文件中的焦点错乱问题。

android 自定义ListView 使其带单选框按钮,并解决item点击不响应的问题

android 自定义ListView 使其带单选框按钮,并解决item点击不响应的问题 自己定义ListView就要自己写个LIstviewAdapter继承BaseAdapter这个类然后通过其中...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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