单选按钮:指的是一组按钮中选择其中一项,并且不能多选。
单选组:RadioGroup;实际上是个布局,同一组RaddioButton都要放在RadioGroup节点下。
RadioGroup在Java代码中的3个常用方法:
check:选中指定资源编号的单选按钮。
getCheckedRadioButtonId:获取已选中单选按钮的资源编号
setOnCheckChangeListener:设置单选按钮勾选变化的监听器
案例:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="请选择的性别:"/> <RadioGroup android:id="@+id/rb_gender" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:id="@+id/rb_male" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="男"/> <RadioButton android:id="@+id/rb_female" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="女"/> </RadioGroup> <TextView android:id="@+id/tv_result" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp"/> </LinearLayout>
private TextView tv_result; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_radio7); tv_result = findViewById(R.id.tv_result); RadioGroup rb_gender = findViewById(R.id.rb_gender); rb_gender.setOnCheckedChangeListener(this); } // 在用户点击组内的单选按钮时触发 public void onCheckedChanged(RadioGroup group, int checkedId) { // 使用的checkedid 判断单选按钮的id switch (checkedId) { case R.id.rb_male: tv_result.setText("哇哦,你是个帅气的男孩"); break; case R.id.rb_female: tv_result.setText("哇哦,你是个漂亮的女孩"); break; } }