Android - 以编程方式更改开关的状态而不触发 OnCheckChanged 侦听器

新手上路,请多包涵

我正在寻找一种使用 switch.setChecked(true); 以编程方式更改 Android Switch 小部件状态的方法,而不触发 OnCheckedChangedlistener

我的第一个想法是将它换成 OnClickListener 但是因为这只会记录点击,你不仅可以点击而且还可以滑动 Switch 那么它并不适合用户滑动的目的开关从关闭到打开然后开关实际上什么都不做,因为用户没有点击……

如果有人对此有解决方案或巧妙的解决方法,那就太棒了

原文由 Paul Alexander 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

好吧,就在使用开关在代码中执行操作之前,您可以取消注册监听器,然后做任何您需要做的事情,然后再次注册监听器。

原文由 smnpl 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题