该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

写了一个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多选与取消多选的逻辑实现问题相关推荐

  1. 使用java实现类似nc的功能_在FANUC机器人中使用后台运行逻辑实现PLC功能

    后台逻辑概念 PLC是工业自动化领域常用的一种逻辑控制产品,以其性能稳定.兼容性好.可扩展性强.体积小.性价比高而被广泛应用.在机器人产品中,为了降低系统集成的难度,很多机器人产品自身也会在控制系统中 ...

  2. jQuery 表单应用:全选/取消全选,表单验证,网页选项卡切换

    应用一:单行文本框应用 需要用到的 API focus([[data],fn])   --> 当元素获得焦点时,触发 focus 事件 blur([[data],fn])     -->  ...

  3. js表单全选和取消全选

    这是一个全选和取消全选的功能,最上边的是全选框,下边的是单选框. 1. 全选框选中,下边的所有单选框也都选中,全选框取消选中,下边的单选全不选中.如果全选选中情况下,下边的取消选中一个,哪上边的全选框 ...

  4. js实现复选框的全选、取消全选、反选

    思路很简单: 全选:将所有复选框的checked设置为true 取消全选:将所有复选框的checked设置为false 反选:将所有选中的复选框设置为false,未选中的设置为true.即将check ...

  5. el-checkbox-group 点击box 没反应,无法取消勾选(记一次debug的思路)

    今天工作时,碰到了项目代码中一个bug,表现出来的效果是:el-checkbox-group 点击 box 没反应,无法取消勾选. 也就是 box 默认是被勾选上的,但是点击取消勾选却没反应. 问题看 ...

  6. axure实现复选框全选_Axure RP实例教程:全选与取消全选效果

    原标题:Axure RP实例教程:全选与取消全选效果 Axure RP 9 Mac这款原型设计软件能让设计者快速创建应用软件,或者在web网站的线框图.流程图.原型和规格的设计制作,从低到高的视觉和交 ...

  7. axure实现复选框全选_AxureRP8实战手册-案例73(全选与取消全选效果)

    案例73. 全选与取消全选效果 案例来源: 百度音乐-音乐盒 案例效果: 初始状态/取消全选时:(图5-117) 全选后取消任一选项时:(图5-118) 全选/单选全部选中时:(图5-119) 案例描 ...

  8. DEV控件中GridView中的复选框与CheckBox实现联动的全选功能

    最初的界面图如图1-1(全选框ID: cb_checkall  DEV控件名称:gcCon ): 要实现的功能如下图(1-2  1-3  1-4)及代码所示: 图1-2 图1-3 图1-4 O(∩_∩ ...

  9. java电影票选座_Android自定义view实现电影票在线选座功能

    先看看电影票在线选座功能实现的效果图: 界面比较粗糙,主要看原理. 这个界面主要包括以下几部分 1.座位 2.左边的排数 3.左上方的缩略图 4.缩略图中的红色区域 5.手指移动时跟随移动 6.两个手 ...

最新文章

  1. mysqlsla的使用
  2. 【svn】svn的使用
  3. PetShop之业务逻辑层设计
  4. js 调用 php,利用js调用后台php进行数据处理原码
  5. python做用友财务报表_SpreadJS 纯前端表格控件应用案例:畅捷通财务T-UFO报表
  6. Paraview—提取任意截面数据
  7. html svg在线画板,很棒的SVG图形(多边形)在线生成器
  8. 关于Oracle的PARALLEL_MAX_SEVERS参数
  9. Captain Flint and Crew Recruitment
  10. python3精简笔记(三)——高级特性
  11. PHP拼团人数不能超过,怎么解决拼团、抽奖难以凑齐人数这个大问题?
  12. 余承东:华为技术走在产业前列,别人想超越很难;理想销量夺冠后,员工不满年终奖打折;黑客窃取GitHub代码签名证书|极客头条
  13. 爬取豆瓣电影Top250影片信息
  14. 美国次级抵押贷款市场的来龙去脉(转)
  15. 7-14 电话聊天狂人(25 分)
  16. Java基础50题(3) 21~30题
  17. Linux与Windows双系统下的Grub引导管理器安装。
  18. java之集合Collection之List接口总结
  19. Windows服务器如何搭建网站,最全新手建站教程
  20. Object常用的几种方法

热门文章

  1. 二分法求方程的根(Python)
  2. linux dolphin模拟器,Dolphin模拟器设置教程 Dolphin模拟器怎么用
  3. 液晶电视局部发黑怎么修?盘点几种液晶电视显示问题维修的方法
  4. 谁能帮我解决这个问题
  5. seata openfeign 实现传播xid源码解析
  6. 关于MVT矢量瓦片,你不知道的事
  7. GPS信号强度与GPS定位
  8. 安卓架构组件(1)-App架构指导
  9. vue 是什么?webpack 是什么?
  10. 图神经网络的图网络学习(下)