我有一个我已经实施的广播组,onCheckedChanged
如下所示:
RadioGroup mRadioGroup = (RadioGroup) findViewById(R.id.radio_grp);
mRadioGroup.setOnCheckedChangeListener(this);
我的活动实施OnCheckedChangeListener
,
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (group.getId()) {
case R.id.radio_grp:
if (my condition is true) {
Log.d(TAG, "want to change the radio group's checked button if code reaches here.");
} else {
Log.d(TAG, "do not want to change the radio group's checked button if code reaches here.");
}
break;
default:
break;
}
}
现在,每当用户单击单选按钮时,它都会触发 onCheckedChanged 内的代码,并检查用户单击的单选按钮。但我想检查“我的条件是否为真”,那么只有它应该更改单选按钮选择,如果条件为假,则不要更改。
谁能建议我应该怎么做才能做到这一点?
谢谢!
PS:我也想不出我应该在这个问题的“主题”中写什么,所以如果有人可以总结这个主题,请编辑它。
PPS:我尝试通过重置无线电组的状态,group.check(R.id.last_selected_id);
但这将引发 StackoverFlow 异常,因为代码将陷入永无止境的循环。