多个button中只能选择一个,那么RadioButton+RadioGroup是一个很好的选择.比如在空调在工作模式上只能有一个选择,那么用radioButton是个很不错的选择。
但这样会有一个问题–如果别人将空调设置暖风,心情不爽的用户肯定会抓住机会再次点击冷风(自习室抢空调的日常)。这时用户就会惊奇的发现,不管他怎么点击,都没反应。为什么没反应,为什么没反应!因为程序猿用的是RadioButton!选中之后的radioButton,再次点击该按钮不会触发OnCheckedChangeListener.onCheckedChanged事件,这一点也反映在了该事件监听器的命名上。
这时候应该把radioButton控件换成Button,OnCheckedChangeListener改成OnClickListener吗?No,No,仔细一想,改成Button之后依然很麻烦,因为Button不具备某一组Button只能选中一个的功能,你必须自己维护Button的分组,而且选中一个button后重置上一个被选中的button的状态。更不用说在布局文件中的改动了。如果涉及的页面比较多,那么恭喜你,准备吃免费的加班餐吧。
更可怕的是,如果项目经理在不远的将来突然对你说,我们目前需要根据设备的当前状态实时的重置按钮的选中状态,为了减少后台
Android RadioButton连续响应选中事件
最新推荐文章于 2024-07-28 21:00:23 发布
当用户尝试连续点击已选中的Android RadioButton时,事件不再触发。本文介绍了一种解决方案,通过代码设置背景色和状态,使得RadioButton看似被再次选中,同时提供了一个实用的工具类RadioButtonRestoreUtils,避免修改回Button并手动处理分组状态。这种方法在需求变更时具有较好的灵活性。
摘要由CSDN通过智能技术生成