文档章节

Android ListView焦点抢占

SRain215
 SRain215
发布于 2016/05/16 11:59
字数 319
阅读 37
收藏 1

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

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

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

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

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

通常我们用到的是第三种,即在item布局的根布局加上android:descendantfocusability=”blocksdescendants”的属性就好了

当使用checkbox时,checkbox添加属性android:focusable="false" 

© 著作权归作者所有

共有 人打赏支持
SRain215
粉丝 17
博文 144
码字总数 89414
作品 0
扬州
Android工程师
私信 提问
ListView设置点击效果

我们先看一下一个 ListView绑定6行数据,每行数据上包括了三个控件:TextView,CheckBox,Button,运行效果如下图所示: 绑定代码: ListView lstView = (ListView) this.findViewById(R.id.lis...

长平狐
2012/09/03
2.5K
0
Android ListView添加按钮后自身无响应

Android ListView添加按钮后自身无响应。 在ListView上加了个Button 后就只响应Button 而不响应ListView的单击了。 后来终于解决了。 是因为Button获取了焦点, 导致ListView没有了焦点, 所...

鉴客
2011/12/13
1K
1
怎么解决ListView,EditText,CheckBox三个共存的焦点问题??

当我不加任何 android:focusable="true" 的时候, CheckBox,和EditText能获取到焦点,而EditText获取不到焦点。。 而当我 EditText的焦点加上: android:focusable="true" 的时候, CheckB...

mimixi666
2014/01/15
2.3K
0
android中listview改变选中行背景图片

目标:当item选中时,改变其背景图片。效果图如下: 直接在listview的xml文件中使用listselector: Xml代码 <ListView android:id="@+id/myListView" android:layout_weight="1" android:pad...

淡泊明志
2012/02/27
0
1
android的selector(背景选择器)

最近做listview和button都要改变Android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法。 首先android的selector是在drawable/xxx.xml中配置的。 ...

z.net
2012/11/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Kafka+Flink 实现准实时异常检测系统

1.背景介绍 异常检测可以定义为“基于行动者(人或机器)的行为是否正常作出决策”,这项技术可以应用于非常多的行业中,比如金融场景中做交易检测、贷款检测;工业场景中做生产线预警;安防...

架构师springboot
40分钟前
4
0
DecimalFormat 类基本使用

/* * DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度 * 0 表示如果位数不足则以 0 填充 * # 表示只要有可能就把数字拉上这个位置 * */ public static void main(String[] args){...

嘴角轻扬30
57分钟前
4
0
This APT has Super Cow Powers.

在Debian/Ubuntu上,apt包管理器内嵌着一个彩蛋. 如果你在命令行界面输入 apt help 在最后一行能找到This APT has Super Cow Powers. 说明该apt具有超级牛力 牛力是个什么梗? 则说明你的系统...

taadis
今天
3
0
起薪2万的爬虫工程师,Python需要学到什么程度才可以就业?

爬虫工程师的的薪资为20K起,当然,因为大数据,薪资也将一路上扬。那么,Python需要学到什么程度呢?今天我们来看看3位前辈的回答。 1、前段时间快要毕业,而我又不想找自己的老本行Java开发...

糖宝lsh
今天
9
0
携手开发者共建云生态 首届腾讯云+社区开发者大会在京举办

本文由云+社区发表 北京时间12月15日,由腾讯云主办,极客邦科技、微信、腾讯TEG协办的首届腾讯云+社区开发者大会在北京朝阳悠唐皇冠假日酒店举办。在会上,腾讯云发布了重磅产品开发者平台以...

腾讯云加社区
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部