在只能进行单选的选择上面可以通过RadioGroup控件来实现,例如性别选择以及考试的单项选择题。
xml布局如下:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".MainActivity"
tools:showIn="@layout/activity_main">
<RadioGroup
android:id="@+id/id_gender"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RadioButton
android:id="@+id/id_male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"/>
<RadioButton
android:id="@+id/id_female"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"/>
</RadioGroup>
</androidx.constraintlayout.widget.ConstraintLayout>
布局好后要对性别进行监听,判读单选选择项是。java代码监听逻辑
RadioGroup gender = findViewById(R.id.id_gender);
gender.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if(checkedId == R.id.id_female){
Toast.makeText(MainActivity.this,"性别女",Toast.LENGTH_SHORT).show();
}else if(checkedId == R.id.id_male)
Toast.makeText(MainActivity.this,"性别男",Toast.LENGTH_LONG).show();
}
});
最后的效果如下