Android搭載ラジオグループでラジオボタンをデフォルトとしてチェックする方法を設定する


3 Answers

xml属性の場合、 android:checkedButtonは、チェックするRadioButtonidをとります。

<RadioGroup
...
...
android:checkedButton="@+id/IdOfTheRadioButtonInsideThatTobeChecked"
... >....</RadioGroup>
Question

RadioGroupRadioButtonを以下のように動的に作成しました。

RadioGroup radioGroup = new RadioGroup(context);
                    RadioButton radioBtn1 = new RadioButton(context);
                    RadioButton radioBtn2 = new RadioButton(context);
                    RadioButton radioBtn3 = new RadioButton(context);

                    radioBtn1.setText("Less");
                    radioBtn2.setText("Normal");
                    radioBtn3.setText("More");

                    radioBtn2.setChecked(true);

                    radioGroup.addView(radioBtn1);
                    radioGroup.addView(radioBtn2);
                    radioGroup.addView(radioBtn3);

ここでstep radioBtn2.setChecked(true); radioBtn2常にチェックされます。 つまり、他の2つのラジオボタン( radioBtn1radioBtn3 )をチェックして、 radioBtn2チェックを外すことはできません。 RadioGroupは一度に1つのラジオボタンしかチェックできないようにしたい(今は一度に2つのラジオボタンをチェックできる)。 どうすればこの問題を解決できますか?




activity.xmlにandroid:checked = "true"を追加してください




同僚のコードにも同じ問題がありました。 あなたのラジオ・グループがラジオ・ボタンで適切に設定されていないので、これは聞こえます。 これが、ラジオボタンを複数選択できる理由です。 私は多くのことを試しました、私は実際に間違っているトリックをしましたが、うまく動作します。

for ( int i = 0 ; i < myCount ; i++ )
{
    if ( i != k )
    {
        System.out.println ( "i = " + i );
        radio1[i].setChecked(false);
    }
}

ここでは、使用可能なラジオボタンをチェックし、クリックされたラジオボタンを除くすべてのラジオボタンを選択解除するループを設定します。 それを試してみてください。




    RadioGroup radioGroup = new RadioGroup(WvActivity.this);
    RadioButton radioBtn1 = new RadioButton(this);
    RadioButton radioBtn2 = new RadioButton(this);
    RadioButton radioBtn3 = new RadioButton(this);

    radioBtn1.setText("Less");
    radioBtn2.setText("Normal");
    radioBtn3.setText("More");


    radioGroup.addView(radioBtn1);
    radioGroup.addView(radioBtn2);
    radioGroup.addView(radioBtn3);

    radioGroup.check(radioBtn2.getId());



Related