我在使用RadioGroup
实施性别选择时遇到错误:
以下是代码:
radioSexGroup = (RadioGroup)findViewById(R.id.radiogroup);
register.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
int selectedId = radioSexGroup.getCheckedRadioButtonId();
radioSexButton = (RadioButton)findViewById(selectedId);
String Gender = radioSexButton.getText().toString();
}
}
radiogroup
的XML:
<RadioGroup
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/radiogroup">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:text="Male"
android:id="@+id/male"
android:checked="true" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:text="Female"
android:id="@+id/female"
android:checked="false" />
</LinearLayout>
</RadioGroup>
这是错误:
错误java.lang.NullPointerException:尝试调用虚方法 'java.lang.CharSequence android.widget.RadioButton.getText()'上一个 null对象引用
我知道这是因为如果没有选择getCheckedRadioButtonId()
,-1
会返回RadioButton
。
但是我如何更正这一点以便getCheckedRadioButtonId()
返回正确的ID?
他们的任何可以使选择互相排斥的东西吗?
如何在选择一个单选按钮后取消选择一个单选按钮,因为在我的情况下这不会自动发生?