1

有没有办法一起加入单选组,所以当单击组 a 中的按钮时,未单击组 b 中的按钮

     <RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
                    android:layout_below="@id/NFCHeaderTextView"
                    android:layout_width="fill_parent"
                    android:background="@drawable/back"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:id="@+id/hello">

   <RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
                    android:layout_width="fill_parent"
                    android:background="@drawable/back"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:id="@+id/RadioGroup">
    </RadioGroup>
    <TextView android:id="@+id/Savings"
                android:background="@drawable/two_tone_green_button_selector"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:textStyle="bold"
                android:textSize="16dp"
                android:gravity="left|center_vertical"
                android:textColor="@color/two_green_button_color_selector"
                android:onClick="onRadioButtonClicked"
                android:text="@string/Savings"/>

   <RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
                    android:layout_width="fill_parent"
                    android:background="@drawable/back"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:id="@+id/SavingsR">
    </RadioGroup>

   <TextView android:id="@+id/Credit"
                android:background="@drawable/two_tone_green_button_selector"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:textStyle="bold"
                android:textSize="16dp"
                android:gravity="left|center_vertical"
                android:textColor="@color/two_green_button_color_selector"
                android:onClick="onRadioButtonClicked"
                android:text="@string/Credit"/>

   <RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
                    android:layout_width="fill_parent"
                    android:background="@drawable/back"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:id="@+id/CreditR">
    </RadioGroup>
    </RadioGroup>
    </RelativeLayout>

我有这段代码,但是当我运行它时,我仍然可以单击来自两个不同组的两个按钮,我在 eclipse 中使用 java

4

1 回答 1

1

编辑:

我很快写了一些示例代码,在这个例子中,我们有两个不同的单选组,但只能检查两组中的一个单选按钮。我们正在使用 OnCheckedChangeListener 来捕获与 RadioGroup 内单选按钮状态变化相关的事件。这是一些示例代码,并不是处理 OnCheckedChangeListener 回调的正确方法,我只是想向您展示一个包含两个无线电组的示例。我希望这会有所帮助。

爪哇:

    final RadioGroup group1 = (RadioGroup) findViewById(R.id.radiogroup1);
    final RadioGroup group2 = (RadioGroup) findViewById(R.id.radiogroup2);

    group1.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            ((RadioButton)group2.findViewById(R.id.option4)).setChecked(false);
            ((RadioButton)group2.findViewById(R.id.option5)).setChecked(false);
            ((RadioButton)group2.findViewById(R.id.option6)).setChecked(false);
        }
    });

    group2.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            ((RadioButton)group1.findViewById(R.id.option1)).setChecked(false);
            ((RadioButton)group1.findViewById(R.id.option2)).setChecked(false);
            ((RadioButton)group1.findViewById(R.id.option3)).setChecked(false);
        }
    });

XML:

   <RadioGroup
    android:id="@+id/radiogroup1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <RadioButton
        android:id="@+id/option1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Option 1" />

    <RadioButton
        android:id="@+id/option2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Option 2" />

    <RadioButton
        android:id="@+id/option3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Option 3" />
</RadioGroup>

<RadioGroup
    android:id="@+id/radiogroup2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <RadioButton
        android:id="@+id/option4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Option 4" />

    <RadioButton
        android:id="@+id/option5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Option 5" />

    <RadioButton
        android:id="@+id/option6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Option 6" />
</RadioGroup>

原来的:

使用OnCheckedChangeListener,当 Radio 状态发生变化时会调用此侦听器。使用此功能,您可以循环另一个 RadioGroup 以取消选中其他单选按钮。

希望这可以帮助,

如果不在下面评论

于 2013-01-29T21:20:13.167 回答