java实现多选的功能,CheckBox多选与取消多选的逻辑实现问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
写了一个CheckBox的全选功能 一开始可以实现点多选 全部都选上 再点一下 所有的勾全部取消
后来想添加两个功能 1、在多选状态下 取消掉一个勾 同时多选勾也取消掉 2、下面三个全选上后 全选选项自动也被勾上
但是把语句逻辑写好后 运行发现 在点全选按钮的时候 其中的(1)语句会把下方的(2):case R.id.cbSelectName:
里面的代码也同时调用 导致出现的结果很混乱 上网查的解决方案全都是js方面的 不知道有没有java方面的解决办法啊?
现附上代码
class CheckBoxListener implements OnCheckedChangeListener {
@Override
public void onCheckedChanged(CompoundButton cbName, boolean isChecked) {
switch (cbName.getId()) {
case R.id.cbSelectAll: //全选按钮的实现
cbSelectName.setChecked(isChecked); //(1)
cbSelectSex.setChecked(isChecked);
cbSelectAge.setChecked(isChecked);
break;
case R.id.cbSelectName: //(2)
if (cbSelectAll.isChecked() == true) {
cbSelectAll.setChecked(false);
cbSelectName.setChecked(false);
}
else {
if (cbSelectName.isChecked() == false
&& cbSelectSex.isChecked() == true
&& cbSelectAge.isChecked() == true) {
cbSelectAll.setChecked(true);
} else {
cbSelectName.setChecked(true);
}
}
break;
//后面的两个case基本和上面的相仿
case R.id.cbSelectSex:
if (cbSelectAll.isChecked() == true) {
cbSelectAll.setChecked(false);
cbSelectSex.setChecked(false);
} else {
if (cbSelectSex.isChecked() == false
&& cbSelectName.isChecked() == true
&& cbSelectAge.isChecked() == true) {
cbSelectAll.setChecked(true);
} else {
cbSelectSex.setChecked(true);
}
}
break;
case R.id.cbSelectAge:
if (cbSelectAll.isChecked() == true) {
cbSelectAll.setChecked(false);
cbSelectAge.setChecked(false);
} else {
if (cbSelectAge.isChecked() == false
&& cbSelectName.isChecked() == true
&& cbSelectSex.isChecked() == true) {
cbSelectAll.setChecked(true);
} else {
cbSelectAge.setChecked(true);
}
}
break;
}
}
}
java实现多选的功能,CheckBox多选与取消多选的逻辑实现问题相关推荐
- 使用java实现类似nc的功能_在FANUC机器人中使用后台运行逻辑实现PLC功能
后台逻辑概念 PLC是工业自动化领域常用的一种逻辑控制产品,以其性能稳定.兼容性好.可扩展性强.体积小.性价比高而被广泛应用.在机器人产品中,为了降低系统集成的难度,很多机器人产品自身也会在控制系统中 ...
- jQuery 表单应用:全选/取消全选,表单验证,网页选项卡切换
应用一:单行文本框应用 需要用到的 API focus([[data],fn]) --> 当元素获得焦点时,触发 focus 事件 blur([[data],fn]) --> ...
- js表单全选和取消全选
这是一个全选和取消全选的功能,最上边的是全选框,下边的是单选框. 1. 全选框选中,下边的所有单选框也都选中,全选框取消选中,下边的单选全不选中.如果全选选中情况下,下边的取消选中一个,哪上边的全选框 ...
- js实现复选框的全选、取消全选、反选
思路很简单: 全选:将所有复选框的checked设置为true 取消全选:将所有复选框的checked设置为false 反选:将所有选中的复选框设置为false,未选中的设置为true.即将check ...
- el-checkbox-group 点击box 没反应,无法取消勾选(记一次debug的思路)
今天工作时,碰到了项目代码中一个bug,表现出来的效果是:el-checkbox-group 点击 box 没反应,无法取消勾选. 也就是 box 默认是被勾选上的,但是点击取消勾选却没反应. 问题看 ...
- axure实现复选框全选_Axure RP实例教程:全选与取消全选效果
原标题:Axure RP实例教程:全选与取消全选效果 Axure RP 9 Mac这款原型设计软件能让设计者快速创建应用软件,或者在web网站的线框图.流程图.原型和规格的设计制作,从低到高的视觉和交 ...
- axure实现复选框全选_AxureRP8实战手册-案例73(全选与取消全选效果)
案例73. 全选与取消全选效果 案例来源: 百度音乐-音乐盒 案例效果: 初始状态/取消全选时:(图5-117) 全选后取消任一选项时:(图5-118) 全选/单选全部选中时:(图5-119) 案例描 ...
- DEV控件中GridView中的复选框与CheckBox实现联动的全选功能
最初的界面图如图1-1(全选框ID: cb_checkall DEV控件名称:gcCon ): 要实现的功能如下图(1-2 1-3 1-4)及代码所示: 图1-2 图1-3 图1-4 O(∩_∩ ...
- java电影票选座_Android自定义view实现电影票在线选座功能
先看看电影票在线选座功能实现的效果图: 界面比较粗糙,主要看原理. 这个界面主要包括以下几部分 1.座位 2.左边的排数 3.左上方的缩略图 4.缩略图中的红色区域 5.手指移动时跟随移动 6.两个手 ...
最新文章
- mysqlsla的使用
- 【svn】svn的使用
- PetShop之业务逻辑层设计
- js 调用 php,利用js调用后台php进行数据处理原码
- python做用友财务报表_SpreadJS 纯前端表格控件应用案例:畅捷通财务T-UFO报表
- Paraview—提取任意截面数据
- html svg在线画板,很棒的SVG图形(多边形)在线生成器
- 关于Oracle的PARALLEL_MAX_SEVERS参数
- Captain Flint and Crew Recruitment
- python3精简笔记(三)——高级特性
- PHP拼团人数不能超过,怎么解决拼团、抽奖难以凑齐人数这个大问题?
- 余承东:华为技术走在产业前列,别人想超越很难;理想销量夺冠后,员工不满年终奖打折;黑客窃取GitHub代码签名证书|极客头条
- 爬取豆瓣电影Top250影片信息
- 美国次级抵押贷款市场的来龙去脉(转)
- 7-14 电话聊天狂人(25 分)
- Java基础50题(3) 21~30题
- Linux与Windows双系统下的Grub引导管理器安装。
- java之集合Collection之List接口总结
- Windows服务器如何搭建网站,最全新手建站教程
- Object常用的几种方法