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 Exception がスローされます。

4

0 に答える 0