开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点。原因多半是由于在你自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也可以说是Button或者Checkable的子类控件),此时这些子控件会将焦点获取到,所以常常当点击item时变化的是子控件,item本身的点击没有响应。

该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。

属性的值有三种:

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

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

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

通常我们用到的是第三种,即在Item布局的根布局加上android:descendantFocusability=”blocksDescendants”的属性就好了,至此listview点击的灵异事件告一段落。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="blocksDescendants"
android:orientation="horizontal"
tools:context=".MainActivity" > <TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="item1" /> <Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="收藏" /> </LinearLayout>

最新文章

  1. npm提速
  2. java中常见的几种异常
  3. RabbitMQ之入门
  4. 在Action 中访问web资源
  5. 【转载】James Whittaker:经营成功的测试职业生涯
  6. 报错总结_java.lang.RuntimeException: Invalid action class configuration that references an unknown class name
  7. c++11编码规范 NULL还是nullptr
  8. Oracle 11g 客户端 下载地址
  9. Ubuntu环境下配置Nginx
  10. maven提示错误的解决办法
  11. mysql数据类型——浮点和定点型
  12. 体验Impress.js
  13. Tomcat 9.0安装配置
  14. asp.net出现正在中止线程解决方案
  15. mybatis 使用场景
  16. Linux显示各栏位的标题信息列
  17. Linux基础学习笔记1
  18. 关于“UI线程”
  19. Git 删除提交记录
  20. python3之深浅拷贝

热门文章

  1. LinkedList集合 实现栈和队列
  2. 基础类型转化成String 转
  3. 13_数据的划分和介绍之sklearn数据集
  4. 封装了一个HOOKAPI的类。。。
  5. 对于CDH LZO的安装
  6. linux学习(二)-----Linux 的目录结构、远程登录、vi和vim
  7. 3377加减乘除等于24(原生js实现)
  8. java的堆栈通俗理解
  9. nodejs package.json说明
  10. js中的自执行匿名函数 (function(){})()