首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    CompoundButton调用setChecked多次触发onCheckedChanged

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

    1.4K20编辑于 2022-08-15
  • 来自专栏全栈程序员必看

    compoundbutton调用setChecked触发onCheckedChanged的终极解决方案;「建议收藏」

    我们通常会去实现,CompoundButton来实现我们想要的一个效果,最常见的就是系统的CheckBox,但是在使用的过程中,我们会发现一个问题就是:我们在使用SetChecked的时候,总是会触发,onCheckedChanged = null) { mOnCheckedChangeListener.onCheckedChanged(this, mChecked); } if = null) { mOnCheckedChangeWidgetListener.onCheckedChanged(this, mChecked); } mBroadcasting = false; } } 我们发现一个问题就是:只要我们设置了监听器,是会始终触发onCheckedChanged里面的回掉方法的,所以这里我们在调用 SetChecked的时候不想触发OnCheckedChanged里面的方法的时候,我们在调用之前将这个监听器设置为空,掉用结束后,再次设置监听器; 具体如下: mCheck.setOnCheckedChangeListener

    75420编辑于 2022-08-19
  • 来自专栏全栈程序员必看

    CompoundButton(checkbox,switch,ToggleButton)和RadioGroup OnCheckedChangeListener() 引用冲突问题

    vSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged vRadioGroup.setOnCheckedChangeListener(OnCheckedChangeListener() { @Override public void onCheckedChanged vSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged vRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged

    45230编辑于 2022-08-15
  • 来自专栏全栈程序员必看

    Android开发:CompoundButton.onCheckedChangeListener和RadioGroup.onCheckedChangeListener冲突问题「建议收藏」

    rGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged

    62220编辑于 2022-09-06
  • 来自专栏Linux内核深入分析

    Android UI学习之RadioButton和RadioGroup

    radioButton1.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged 布局文件就不列出, 其中就有一个RadioButton和一个Button按钮(后面会用到) 测试结果为: 1: 当我选中同时抬起后的打印: 这时候模拟器的截图为: 当我再次点击“是”的时候, OnCheckedChanged radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged

    2.1K20编辑于 2022-05-08
  • 来自专栏【Android开发基础】

    【Android从零单排系列十九】《Android视图控件——CheckBox》

    checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged 接下来,使用setOnCheckedChangeListener()方法注册一个状态变化的监听器,当复选框的状态发生改变时,会触发onCheckedChanged()方法,并根据新的状态进行相应的处理。 setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged

    1.5K30编辑于 2023-07-17
  • 来自专栏韩曙亮的移动开发专栏

    【鸿蒙 HarmonyOS】UI 组件 ( 多选按钮 | Checkbox 组件 )

    setCheckedStateChangedListener 方法设置 选中 / 取消选中 的 AbsButton.CheckedStateChangedListener 监听器 , 当用户 选中 / 取消选中 时 , 会回调上述监听器的 onCheckedChanged setCheckedStateChangedListener(new AbsButton.CheckedStateChangedListener() { @Override public void onCheckedChanged setCheckedStateChangedListener(new AbsButton.CheckedStateChangedListener() { @Override public void onCheckedChanged

    2.4K00编辑于 2023-03-28
  • 来自专栏风吹杨柳

    Android贴吧系统学习-----悬浮布局出现的bug--android.view.WindowManager$BadTokenException:

    StartActivity.java:615) 09-20 15:26:51.921: W/System.err(21923): at com.clockrock.freeshare.StartActivity.onCheckedChanged RadioGroup.java:54) 09-20 15:26:51.922: W/System.err(21923): at android.widget.RadioGroup$CheckedStateTracker.onCheckedChanged StartActivity.java:615) 09-20 15:26:51.986: E/AndroidRuntime(21923): at com.clockrock.freeshare.StartActivity.onCheckedChanged :54) 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.widget.RadioGroup$CheckedStateTracker.onCheckedChanged

    88420发布于 2019-07-08
  • 来自专栏水击三千

    RadioButton、CheckBox与ToggleButton

    setOnCheckedChangeListener(new OnCheckedChangeListener() { 19 20 @Override 21 public void onCheckedChanged radio.setOnCheckedChangeListener(new OnCheckedChangeListener() { 27 28 @Override 29 public void onCheckedChanged myCheck.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override public void onCheckedChanged myToggle.setOnCheckedChangeListener(new OnCheckedChangeListener(){ 8 9 @Override 10 public void onCheckedChanged

    1.3K60发布于 2018-02-27
  • 来自专栏该溜子的专栏

    【Android】单选控件

    cbArgreement.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged * @param checkedId 指的是被选中的id */ @Override public void onCheckedChanged * @param checkedId 指的是被选中的id */ @Override public void onCheckedChanged

    22610编辑于 2025-07-19
  • 来自专栏分享达人秀

    CheckBox和RadioButton使用大全

    mShanghaiCb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged mBeijingCb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged mChongqingCb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged mSexRg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged

    4.6K100发布于 2018-02-02
  • 来自专栏Netkiller

    【Android初级】教你用两行代码实现“显示/隐藏密码”的效果

    checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged 为了解决这个问题,我们要在 CheckBox 的stateChange事件后,手动将光标移动到末尾,在 onCheckedChanged 的后面添加如下代码: // 切换后将 EditText

    2.5K10发布于 2021-02-08
  • 来自专栏风吹杨柳

    android.support.v4.app.BackStackRecord.doAddOp(BackStackRecord)

    BackStackRecord.java:443) 09-03 16:55:16.820:E/AndroidRuntime(16873):   atcom.clockrock.freeshare.StartActivity.onCheckedChanged RadioGroup.java:54) 09-03 16:55:16.820: E/AndroidRuntime(16873):  atandroid.widget.RadioGroup$CheckedStateTracker.onCheckedChanged

    80650发布于 2019-07-05
  • 来自专栏Nicky's blog

    Android系列之实现自动登录和记住密码

    savedAccountCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged autoLoginCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged

    2K30编辑于 2022-05-07
  • 来自专栏项勇

    关于自定义单选框InfoPreference的笔记

    radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override public void onCheckedChanged [checkedId]); //传entryValues的值出去 } }catch(Exception e){ Log.e(TAG,"onCheckedChanged

    59420发布于 2020-09-28
  • 来自专栏Nicky's blog

    Android实现自动登录和记住密码

    savedAccountCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged autoLoginCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged

    3.1K30发布于 2019-01-17
  • 来自专栏james大数据架构

    状态开关按钮ToggleButton

    togbtn.setOnCheckedChangeListener(new OnCheckedChangeListener() { 2 @Override 3 public void onCheckedChanged

    1.4K60发布于 2018-01-22
  • 来自专栏全栈程序员必看

    CheckBox多选按钮实现CompoundButton.OnCheckedChangeListener

    CheckedChangeListener,参数是监听器对象 sleepBox.setOnCheckedChangeListener(listener);//不论哪个控件被点击,都会调用onCheckedChanged CheckBoxListener implements CompoundButton.OnCheckedChangeListener{ @Override public void onCheckedChanged

    70420编辑于 2022-06-26
  • 来自专栏刘晓杰

    手把手教你写《雷神》游戏(三)

    setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged

    51640发布于 2019-02-21
  • 来自专栏韩曙亮的移动开发专栏

    【鸿蒙 HarmonyOS】UI 组件 ( 单选按钮 | RadioButton 与 RadioContainer 组件 )

    下的所有 RadioButton 的选择事件 ; 当某个 RadioButton 被点击时 , 会回调 RadioContainer.CheckedStateChangedListener 监听器的 onCheckedChanged radioContainer.setMarkChangedListener(new RadioContainer.CheckedStateChangedListener() { @Override public void onCheckedChanged

    1.9K00编辑于 2023-03-28
领券