ListView的Item中子控件抢占焦点的两种解决办法 .
来源:互联网 发布:微信群名淘宝客 编辑:程序博客网 时间:2024/05/06 17:43
当为ListView的Item自定义布局时,如果布局中包含可获取焦点的子控件(诸如ImageButton,Button,CheckBox等子控件,也可以说是Button或者Checkable的子类控件),就会出现子控件抢占焦点的问题,即焦点被子控件截获,Item的点击事件将无法响应。提供两种简单的解决办法:
1、在自定义布局的根部局容器中添加 android:descendantFocusability="blocksDescendants" 属性,例item的布局文件
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" <span style="color:#ff0000;">android:descendantFocusability="blocksDescendants"</span> android:padding="10dp" > <TextView android:id="@+id/tv_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="张三" /> <TextView android:id="@+id/tv_descripe" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/tv_name" android:text="描述" /> <Button android:id="@+id/btn_ok" android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="详情" /></RelativeLayout>
2、为抢占焦点的子控件设置 android:focusable="false"属性,例:
<span style="font-family:Simsun;font-size:12px;"><?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dp" > <TextView android:id="@+id/tv_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="张三" /> <TextView android:id="@+id/tv_descripe" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/tv_name" android:text="描述" /> <Button android:id="@+id/btn_ok" android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="wrap_content" <span style="color:#ff0000;">android:focusable="false"</span> android:text="详情" /></RelativeLayout>
另外,也可以采用直接为根部局设置点击事件的方式来相应Item的点击事件,就是为根部局容器设置一个onClickListener,在此不再赘述。
0 0
- ListView的Item中子控件抢占焦点的两种解决办法
- ListView的Item中子控件抢占焦点的两种解决办法 .
- listView的Item控件抢占焦点的解决办法
- Item控件抢占焦点的解决方案
- item控件抢占焦点的问题
- android中关于在ListView的子item中有控件抢占ListView的焦点问题
- listView中Item控件抢占焦点
- ListView子控件抢占焦点的问题
- listView item中子控件的点击事件
- listView中Item不可点击的原因是内部有一些抢占焦点的控件
- 安卓Item控件焦点抢占的解决方案
- 关于listView的item失去焦点不能点击 Item中包含Button 导致抢占焦点
- 关于listView的item失去焦点不能点击 Item中包含Button 导致抢占焦点
- Listview 中有多个控件 造成的焦点抢占的问题
- android listview 中item 子控件抢占焦点问题
- ListView与item中控件焦点抢占及错位问题
- 解决listview中item抢占焦点
- android ListView的item与其子控件的焦点问题
- 2089 不要62
- div中添加滚动条的方法
- Altium Designer -- 精心总结
- 树莓派下安装pyaudio与使用
- POJ-2485 Highways (最小支撑树)
- ListView的Item中子控件抢占焦点的两种解决办法 .
- MyEclipse快捷键
- Ant编译Java项目-QuickStart
- HDU 5493 Queue (线段树)2015合肥赛区网络赛
- 线索二叉树
- PHP函数
- C语言判断文件是否存在(转)
- VC和LUA混合开发之VC程序调用Lua脚本函数
- jdk1.6.+ Tomcat 7.0+myEclipse 10.1配置成功流程