调用RadioGroup的check(id)方法,监听onCheckedChanged方法被执行多次;调用clearCheck(),onCheckedChanged方法仍被执行的解决办法

转载请注明:http://blog.csdn.net/u012854870/article/details/77163273

调用RadioGroup的check(id)方法,监听onCheckedChanged方法被执行多次解决方法:
直接根据id获取子RadioButton对象来setChecked()

((RadioButton)mRadioGroup.findViewById(R.id.radio_button)).setChecked(true); 

调用RadioGroup的clearCheck()方法,onCheckedChanged方法仍被执行解决方法:
现将监听事件移除,当执行完clearCheck()方法后再重新注册监听事件

 mRadioGroup.setOnCheckedChangeListener(null);
 mRadioGroup.clearCheck();
 mRadioGroup.setOnCheckedChangeListener(this);

多次触发事件原因
check(id)监听触发多次解决方法
clearCheck()触发监听解决方法

猜你喜欢

转载自blog.csdn.net/u012854870/article/details/77163273