8

友達。私はラジオグループで本当にばかげた問題を抱えています。しかし、私は解決策を見つけることができません。

問題を再現する方法を説明しようと思います: ラジオボタン グループと内部に 2 つのボタンがあります。そのうちの 1 つを選択します。1 つ目としましょう。次に 、最初のボタンを選択しようとした後、 radioGroup.clearCheck()を呼び出して選択をクリアしていますが、チェックしていません。2番目にチェックすると、正常にチェックされます。2番目を確認してから1番目を確認すると、正常に動作します。

これはクレイジーに聞こえるかもしれませんが、修正することはできません。助けてください、事前に感謝します。

私が使う

@Override
protected void init() {
    View view = View
            .inflate(getContext(), R.layout.wo_task_yn_result, null);

    performed = (RadioButton) view.findViewById(R.id.yn_yes);
    notPerformed = (RadioButton) view.findViewById(R.id.yn_no);

    radioGroup = (RadioGroup) view.findViewById(R.id.yn_options);

    performed.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(final CompoundButton buttonView,
                final boolean isChecked) {
            Log.d(YES, "verify");
            if (isChecked) {
                Log.d(YES, "checked");
                result = YES;
            }
        }
    });

    notPerformed.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(final CompoundButton buttonView,
                final boolean isChecked) {
            Log.d(NO, "verify");
            if (isChecked) {
                Log.d(NO, "checked");
                result = NO;
            }
        }
    });

    addView(view);
}

ボタンと

@Override
public void clear() {
    radioGroup.clearCheck();

    result = "";
}

それらをクリアするために

4

3 に答える 3

18

私も同じ問題を抱えていました。グループ内の最初の radioButton を選択できませんでしたが、他の 2 つを選択できました。そして、2 番目の radioButton を選択した後、最初の radioButton も選択できました。個々の radioButtonA.setChecked(false) の代わりに単一の radioGroup.clearCheck() を実行して解決しました

于 2013-06-26T07:45:05.690 に答える
0

OnCheckedChangeListenerを使用し、メソッドまたはを利用しますsetSelected(true)setChecked(true)

于 2012-04-05T14:32:48.597 に答える
0

ラジオ ボタンのチェックを外したい場合は、次の方法を試してください。

@Override
public void clear() {

performed.setChecked(false);

nonperformed.setChecked(false);

}
于 2012-04-05T16:06:37.040 に答える