onCheckedChangeListener

onCheckedChangeListener

有没有一种方法可以将广播组一起加入,所以当从组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

最佳答案

编辑:

我迅速编写了一些示例代码,在此示例中,我们有两个不同的单选按钮组,但是只能检查两个单选按钮组。我们正在使用OnCheckedChangeListener捕获与RadioGroup内部单选按钮的状态更改有关的事件。这是一些示例代码,不是处理OnCheckedChangeListener回调的正确方法,我只是想向您展示一个带有两个无线电组的示例。希望对您有所帮助。

JAVA:

    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以取消选中其他单选按钮。

希望这可以帮助,

如果下面没有评论

10-04 23:38