在android中调用oncheckedchanged侦听器之前检查一个条件

时间:2013-05-14 17:38:26

标签: android radio-button

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

0 个答案:

没有答案