问题

当我们只想改变CompoundButton的状态时,setChecked会出现onCheckedChanged的情况。

原因

源码可见只要CompoundButton设置了setOnCheckedChangeListener,就会再每次调用setChecked()的时候再次触发onCheckedChanged

解决方式

1.setChecked()的时候设置屏蔽,在onCheckedChanged中直接return;
2.清除listener,setOnCheckedChangeListener(null),之后再加回来

所以最好不要在onCheckedChange中写逻辑,如果要写也最好不要再setChecked,否则需要自己设置屏蔽;并且CompoundButton默认会抢夺响应点击,onCheckedChange响应是在Button勾选之后的

CompoundButton调用setChecked多次触发onCheckedChanged相关推荐

  1. Android之CheckBox进行代码设置setChecked(true)会触发setOnCheckedChangeListener事件

    1 问题 我们对CheckBox设置了setOnCheckedChangeListener监听,代码里面对CheckBox单独代码进行设置勾选(setChecked(true))的时候,会触发OnCh ...

  2. C#中在多个地方调用同一个触发器从而触发同一个自定义委托的事件

    场景 在Winfom中可以在页面上多个按钮或者右键的点击事件中触发同一个自定义的委托事件. 实现 在位置一按钮点击事件中触发 string parentPath = System.IO.Directo ...

  3. Switch控件的介绍和使用

    写在前面 Switch控件的介绍和使用 先看东西 布局属性介绍 <Switchandroid:id="@+id/mSwitchView"android:theme=" ...

  4. switch监听android代码,Android switch当代码setCheck时,不调用onCheckedChanged

    最近做项目需要使用switch控件去设置手势密码,当手动打开或者关闭switch控件时,会跳转到设置手势密码页面,并且设置成功后,会保存switch状态到文件中.每次进入手势密码页面,都去获取swit ...

  5. asmx 接受 ajax post,jQuery ajax调用web服务(asmx)触发认证弹出框

    在我的asp.net 4.0电子商务web应用程序中,登录的客户可以点击锚点,如"过去6个月内的订单"或"订单去年"来查看他过去的订单.当点击这样的锚,我做一个 ...

  6. android定时调用gc,Android性能:远程触发GC

    一.远程触发GC原理 我们都知道 GC 是java虚拟机释放内存的机制. 一般的在当前进程触发GC有两种方式: 主动触发.调用System.gc() 被动触发.预分配的内存不足 or OOM之前 有没 ...

  7. android checkbox状态不刷新,android开发分享更改checkbox的值,而不触发onCheckChanged

    不,你做不到. onCheckedChanged方法直接从setChecked调用. 你可以做的是以下几点: mCheck.setOnCheckedChangeListener (null); mCh ...

  8. Qt中openGL的四个重要事件(initializeGL() resizeGL() paintGL() pdateGL())调用规则

    initializeGL函数由于是初始化,所以只调用一次 而resizeGL和paintGL会多次调用 resizeGL在正常的情况下,触发的条件是,窗口大小发生变化时,resizeGL被调用,之后会 ...

  9. 以太坊知识教程------智能合约(2)调用

    1. 合约消息 合约之间通过调用或发送消息的方式进行交互 .当一个合约接收到一条消息时,它可以回复一些数据,这样消息的原发送者就能立即使用 .采用这种方法,发送一条消息就像调用一次函数. 一个智能合约 ...

  10. FastClick使用之trigger触发click失效

    2019独角兽企业重金招聘Python工程师标准>>> 最近为了提升web app在ios上的点击效率,使用了FastClick.js,效果很明显,基本是点击后立马有反馈.可是发现一 ...

最新文章

  1. 李飞飞点赞的NeurIPS新赛道,刚刚公布了第一批数据集benchmark入围名单
  2. shell 使用数组作为函数参数的方法
  3. Windows,远程计算机:X.X.X.X,这可能是由于CredSSP加密Oracle修正
  4. 用python实现AES加密解密
  5. Oracle synonym 同义词
  6. unity 4种实现动态障碍方法
  7. asp.net core自定义依赖注入容器,替换自带容器
  8. CF1528C dfs序+set维护
  9. List列表的万能的适配器
  10. BZOJ1324Exca王者之剑BZOJ1475方格取数——二分图最大独立集
  11. [转载] python学习笔记(三)- numpy基础:array及matrix详解
  12. 【整理】牛客网编程题-前端篇(简单难度)
  13. 绿色版Tomcat的配置
  14. 1121 Damn Single(25 分)
  15. Ubuntu安装应用商店中没有的软件
  16. 智慧灯杆新功能:微雾降尘
  17. TRITTON天猫旗舰店开业 2月20日7折大促
  18. 感知算法-超声波三角定位测量方法
  19. 弱电时间同步系统(卫星同步时钟)医院学校标准时钟系统建设的意义
  20. 流量矿石团队成员出席“区块链技术与金融领域创新应用培训会”

热门文章

  1. python爬虫,以某小说网站为例
  2. 台湾ICPlus IP178G/GH/GI 8接口FE以太网交换机芯片详细介绍
  3. IDEA如何开启远程调试
  4. 上传任意文件或者上传漏洞
  5. Tomcat启动出现乱码
  6. GoFrame带你从0-1快速入门
  7. C标准中的转义字符以及ASC码表
  8. 百度云云盘搜索助手可查询提取码 内置5个搜索引擎
  9. Spring Cloud 尚硅谷阳哥学习笔记,每一行代码均有解释,适合快速上手,并配合尚硅谷视频食用
  10. VGG16和VGG19网络结构图