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