加入Radiogroups

时间:2013-01-29 21:14:39

标签: android

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

1 个答案:

答案 0 :(得分:1)

编辑:

我快速写了一些示例代码。在这个例子中,我们有两个不同的无线电组,但只能检查两组中的一个无线电按钮。我们使用OnCheckedChangeListener来捕获与更改RadioGroup中的radiobuttons状态有关的事件。这是一些示例代码,并不是处理OnCheckedChangeListener回调的正确方法,我只想向您展示一个带有两个radiogroup的示例。我希望这有用。

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>

ORIGINAL:

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

希望这有帮助,

如果不在下面评论