选择了两个 RadioButton

Two RadioButtons are selected

为什么我选择了两个 RadioButton?

我一次只想选择一个 RadioButton

布局如下:

<RadioGroup
    android:orientation="vertical"
    android:id="@+id/radio_gender"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:checkedButton="@+id/radio_female"
    android:layout_alignRight="@+id/Button01"
    android:layout_alignTop="@+id/textView3"
    android:layout_toRightOf="@+id/button1" />

<RadioButton
    android:onClick="radioButtonClicked"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:id="@+id/radio_female"
    android:text="@string/radio_female" />

<RadioButton
    android:onClick="radioButtonClicked"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/radio_male"
    android:text="@string/radio_male" />

和代码:

public void radioButtonClicked(View view) {
    // Check that the button is  now checked?
    boolean checked = ((RadioButton) view).isChecked();

    // Check which radio button was clicked
    switch (view.getId()) {
        case R.id.radio_female:
            if (checked)
                userGender = "female";
            break;
        case R.id.radio_male:
            if (checked)
                userGender = "male";
            break;
    }
}

您需要将 RadioButton 放在 RadioGroup 中。像这样更改您的 XML:

<RadioGroup
    android:orientation="vertical"
    android:id="@+id/radio_gender"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:checkedButton="@+id/radio_female"
    android:layout_alignRight="@+id/Button01"
    android:layout_alignTop="@+id/textView3"
    android:layout_toRightOf="@+id/button1">

    <RadioButton
        android:onClick="radioButtonClicked"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/radio_female"
        android:text="@string/radio_female" />

    <RadioButton
        android:onClick="radioButtonClicked"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/radio_male"
        android:text="@string/radio_male" />

</RadioGroup>

关闭 RadioGroup 标签

<RadioGroup
        android:orientation="vertical"
        android:id="@+id/radio_gender"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:checkedButton="@+id/radio_female"
        android:layout_alignRight="@+id/Button01"
        android:layout_alignTop="@+id/textView3"
        android:layout_toRightOf="@+id/button1" />

        <RadioButton
            android:onClick="radioButtonClicked"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:id="@+id/radio_female"
            android:text="@string/radio_female" />

        <RadioButton
            android:onClick="radioButtonClicked"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/radio_male"
            android:text="@string/radio_male" />
</RadioGroup>