4

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

4

0 回答 0