CompoundButton调用setChecked多次触发onCheckedChanged

CompoundButton调用setChecked多次触发onCheckedChanged问题当我们只想改变CompoundButton的状态时,setChecked会出现onCheckedChanged的情况。原因源码可见只要CompoundButton设置了setOnCheckedChangeListener,就会再每次调用setChecked()的时候再次触发onCheckedChanged。解决方式1.setChecked()的时候设置屏蔽,在onCheckedCha…

大家好,又见面了,我是你们的朋友全栈君。

问题

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

原因

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

解决方式

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134266.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月2日 下午3:20
下一篇 2022年5月2日 下午3:20


相关推荐

  • 【rqnoj】 1 明明的随机数[通俗易懂]

    【rqnoj】 1 明明的随机数[通俗易懂]RQNOJ1明明的随机数

    2022年7月2日
    24
  • pycharm如何配置git_网络设备配置基础实训总结

    pycharm如何配置git_网络设备配置基础实训总结PyCharm与Github配置使用总结

    2022年8月27日
    5
  • VUE(相关简介及初始)

    1.什么是vueVue是一个数据驱动页面的一个框架,基于MVVM模式,M指的是数据,V值得是视图,VM是视图模型,将数据绑定视图上(双向绑定)这个框架着重于VM部分2.VUE诞生的背景近几年来

    2022年3月29日
    42
  • InnoDB数据库隔离级别

    InnoDB数据库隔离级别事务隔离级别分为四种(级别递减):1、Serializable(串行化):最严格的级别,事务串行执行,资源消耗最大;2、REPEATABLEREAD(重复读):保证了一个事务不会修改已经由另一个事务读取但未提交(回滚)的数据。避免了“脏读取”和“不可重复读取”的情况,但不能避免“幻读”,但是带来了更多的性能损失。3、READCOMMITTED(提交读):大多数主流数据库的默认事…

    2022年5月18日
    35
  • linux修改密码报错_linux修改其他用户密码

    linux修改密码报错_linux修改其他用户密码第一种:/usr/bin/passwd的权限中没有添加s即SUID特殊权限即:-rwxr-xr-x.1rootroot270008月222010/usr/bin/passwd解决方案:chmodu+s/usr/bin/passwdSUID的功能简单的说就是让组用户或其他用户在执行该文件是拥有文件所有者(own)权限,这里就是需要获取w(写)权限,这样才能将新密码写到/etc…

    2025年9月18日
    8
  • 晚上不用加班了,推荐十款精选IntelliJIdea插件,效率提升N倍[通俗易懂]

    大家好,我是雷小帅,今天给大家推荐开发利器,保证你效率蹭蹭蹭上升。俗话说:"工欲善其事必先利其器",小帅从项目实战的角度在众多的idea插件中挑选了10款开发必备的神器,帮助大家在日常工作学习编码中提升开发效率。1KeyPromoterX实用指数:★★★★★装逼指数:★你还在为记不住快捷键烦恼吗,KeyPromoterX可以帮助你快速记住常用的快捷键。当你在idea中用鼠标点击菜单,它可以显示对应的快捷键以及点击次数。使用一段时间后有助于过渡到更快、无鼠标的开发。

    2022年4月18日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号