【问题标题】:Two RadioButtons are selected选择了两个 RadioButton
【发布时间】:2015-11-12 22:55:34
【问题描述】:

为什么我选择了两个 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;
    }
}

【问题讨论】:

  • RadioGroup 应包含 RadioButtons,如下所示:
  • 必须在 RadioGroup 中添加 RadioButtons

标签: android radio-button


【解决方案1】:

您需要将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>

【讨论】:

    【解决方案2】:

    关闭 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-23
      • 2012-05-03
      • 2017-03-12
      • 1970-01-01
      • 1970-01-01
      • 2014-03-23
      • 2017-11-02
      • 1970-01-01
      相关资源
      最近更新 更多