我有一个我已经实施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异常,因为代码将陷入永无止境的循环。