android复选框不选中无法点击按钮,Android-Listveiw的checkbox,Button焦点问题
CheckBox抢占Item焦点,导致Item点击无效!
方法一:CheckBox设置android:clickable="false"
方法二:在Item根布局或ListView布局设置android:descendantFocusability="blocksDescendants"
在ListView的Item中的Button,CheckBox等子控件会抢占焦点,使得点击item本身没有响应!
常用android:descendantFocusability=”blocksDescendants”覆盖子类控件焦点
descendantFocusability属性定义viewGroup和其子控件之间关系:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
android:descendantFocusability="blocksDescendants">
android:clickable="false"/>
android:descendantFocusability="blocksDescendants"/>
适配器在getview()中重复使用[被移除屏幕的item,即不可见的项]
会造成被选中的checkbox重新出现,显示异常,故需要记录checkbox的状态!
public class MyAdapter extends BaseAdapter implements OnItemClickListener {
private HashMap isSelected; // 记录checkbox状态
public MyAdapter() {
// 初始化所有checkbox为未选择
isSelected = new HashMap();
for (int i = 0; i < list.size(); i++)
isSelected.put(i, false);
}
@Override
public View getView(int position, View convertView, ViewGroup arg2) {
ViewHolder holder;
...
holder.cb.setChecked(isSelected.get(position)); // 更新checkbox状态
return view;
}
@Override
public void onItemClick(AdapterView> arg0, View view,
int position, long arg3) {
// 切换checkbox状态
isSelected.put(position, !isSelected.get(position));
notifyDataSetChanged();
}
}
public class MainActivity extends Activity {
...
MyAdapter adp = new MyAdapter();
listview.setAdapter(adp);
listview.setOnItemClickListener(adp);
...
}
android复选框不选中无法点击按钮,Android-Listveiw的checkbox,Button焦点问题相关推荐
- jquery复选框组清空选中的值_jQuery获取复选框被选中数量及判断选择值的方法详解...
这篇文章主要介绍了jQuery获取复选框被选中数量及判断选择值的方法,结合实例形式分析了jQuery操作复选框进行判定与统计的相关技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了jQuer ...
- 【jQuery】复选框的全选、反选,推断哪些复选框被选中
本文与<[JavaScript]复选框的全选.反选.推断哪些复选框被选中>(点击打开链接)为姊妹篇,把里面内容再与jQuery框架中实现一次,相同做到例如以下的效果: 布局还是相同的布局, ...
- JAVA之获取JavaSwing复选框JCheckBox选中的值(内容)
JAVA之获取JavaSwing复选框JCheckBox选中的值(内容) package shishi;import java.awt.BorderLayout; import java.awt.Co ...
- js获取checkbox复选框获取选中的选项
分享下javascript获取checkbox 复选框获取选中的选项的方法. 有关javascript 获取checkbox复选框的实例数不胜数. js实现: var form = document. ...
- jquery特效(6)—判断复选框是否选中进行答题提示
前面有一段时间思想开了小差,跟着师父学习了一段时间才发现差距很大,看来我要奋起直追~\(≧▽≦)/~啦啦啦. 最近公司在做一个项目,需要根据用户选择的选项给出相应的提示,下面来看我写的测试程序的效果: ...
- php ajax勾选框提交,jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例...
昨天和朋友做一个后台管理系统项目的时候涉及到复选框批量操作,如果用submit表单提交挺方便的,但是要实现用jQuery结合Ajax异步提交数据就有点麻烦了,因为我之前做过的项目中基本上没用Ajax来 ...
- 获取复选框的状态判断复选框是否选中状态
判断复选框是否选中状态 推荐两种方法的使用 第一种是prop('checked'); 示例代码 <input type="checkbox" id="checks& ...
- Yii2 中 checkboxlist 复选框 默认选中
Yii2 checkboxlist 选中问题 方法1: 在 controller 中 model->字段 = 值; 比如: $model->type= 1; 方法2: <?= $f ...
- layui复选框默认选中
layui复选框默认选中 table.render({elem: '#projectMaterialList', cols: [[ //标题栏{checkbox: true}, {type: 'num ...
最新文章
- SecureCRT如何与Linux虚拟机进行关联
- JS作用域理解(声明提升)
- SAP UI5 应用开发教程之二十四 - 如何使用 OData 数据模型
- linux下载gcc yarm,修改Yarn的全局安装和缓存位置
- diy 单片机 自动浇花_造个自动浇花装置(完)
- VirtualBox - 虚拟机下主机与虚拟机、虚拟机与虚拟机之间通信配置
- Linux 串口驱动实例简单分析(x86 8250驱动(16550A),TIOCMGET, TIOCMSET, RTS)
- 浅层砂过滤器 全自动浅层介质过滤系统
- 百度地图设置卫星地图显示图文教程
- kubernetes-kube-scheduler进程源码分析
- 签证者的武林秘笈(一)—-来自太傻的签证哲学
- POJ 1625 Censored! (AC自动机 + 高精度 + DP)
- 苹果手机个性定制,IPHONE4S手机外壳DIY专属定制,创意设计外壳
- Borderlands 3 for Mac 无主之地3
- mkv文件怎么无损转成mp4?
- 【Web技术】1348- 聊聊水印实现的几种方式
- How to play PRA CandyBox game——GoDapp
- CAD如何快速标注尺寸?CAD标注尺寸教程
- sqlmap 使用方法
- windows计算机图标历史,从1993年至今,Windows开始菜单的传奇发展史
热门文章
- where is field waerk in pricing structure filled
- Message popover
- 部署在Netweaver上的Fiori应用的WebContent文件夹
- 在BAdI definition PRODUCT_R3_ADAPTER的implementation里获得download type
- IBASE read buffer
- 如何使用SAP CRM增强工具AET创建Table表格类型的增强
- linux删除modules文件夹,linux – 为什么我不能删除这个dkms模块?
- fiddler抓包工具简介
- 极速写作2017彻底卸载_如何将 Flash 从 Mac 和 Windows 系统中彻底卸载?
- 我国在量子计算机领域的发展情况的感受,量子计算机的现状及发展趋势.doc