0

レイアウトに 2 つの RadioGroup があります。

ユーザーに両方のグループの RadioButtons をチェックしてもらいたい。

しかし、ユーザーが最初のグループから最初に RadioButton を選択し、次に 2 番目のグループから選択する必要があります。そのため、ユーザーが 2 番目のグループから RadioButton を直接選択しようとすると、最初のグループから RadioButton を最初に選択するというエラー (Toast など) が生成されます。

したがって、ユーザーが最初に2番目のグループからラジオボタンを選択できないように、このことを実装したいと思います。

例えば

タイプ:

o 簡単 o 難しい

アクション:

o 加算 o 減算

これらは、さまざまなラジオ グループのラジオ ボタンです。

ユーザーがアクション グループからラジオ ボタンを直接選択しようとすると、選択されず、最初にタイプを選択するというエラー メッセージが表示されます。

私の問題を明確に説明していただければ幸いです。

ありがとう

4

1 に答える 1

0

これを に入れonCreate、ID を調整すると、次のようになります。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    RadioGroup groupOne = (RadioGroup) findViewById(R.id.radio_group_one);

    groupOne.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup radioGroup, int index) {
            RadioGroup groupTwo = (RadioGroup) findViewById(R.id.radio_group_two);
            for(int i = 0; i < groupTwo.getChildCount(); i++) {
                groupTwo.getChildAt(i).setEnabled(true);
            }
        }
    });
}

そして、XML レイアウト ファイルは次のようになります。

<RadioGroup
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/radio_group_one">

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Group 1 button 1"/>

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Group 1 button 2"/>
</RadioGroup>

<RadioGroup
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/radio_group_two">

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Group 2 button 1"
        android:enabled="false"/>

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Group 2 button 2"
        android:enabled="false"/>
</RadioGroup>

したがって、2 番目のボタンはRadioGroup最初は無効になっており、ユーザーが最初のボタンを選択した後にのみ有効になります。

于 2013-05-25T23:36:44.903 に答える