转帖请注明本文出自weimeig的博客(https://blog.csdn.net/weimeig/article/details/79662567),请尊重他人的辛勤劳动成果,谢谢
应朋友们反馈的Android基础薄弱的问题,决定出一套Android基础教程,帮助大家复习,巩固Android基础,今天要讲的是Android中的RadioGroup和RadioButton单选框。
布局文件 activity_radiobutton.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!-- 1、RadioButton是圆形单选 2、RadioRroup是可以容纳多个RadioButton的容器 *在RadioGroup中的RadioButton控件可以有多个,但同时有且仅有一个可以被选中 --> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="请选择性别"/> <RadioGroup android:id="@+id/sex_rg" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:id="@+id/Male_rb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男"/> <RadioButton android:id="@+id/FeMale_rb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女"/> </RadioGroup> </LinearLayout>
Java代码
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.widget.RadioButton; import android.widget.RadioGroup; public class MainActivity extends AppCompatActivity { private RadioGroup rg; private RadioButton Male_rb,FeMale_rb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_radiobutton); initView(); rg.setOnCheckedChangeListener(new MyRadioButtonListener());//绑定监听器 } private void initView() { rg = findViewById(R.id.sex_rg); Male_rb = findViewById(R.id.Male_rb); FeMale_rb =findViewById(R.id.FeMale_rb); } class MyRadioButtonListener implements RadioGroup.OnCheckedChangeListener{ @Override public void onCheckedChanged(RadioGroup group, int checkedId) { //选中状态改变时被触发 switch (checkedId){ case R.id.Male_rb: //当用户选择女性时 Log.i("sex","当前用户选择" +Male_rb.getText().toString()); break; case R.id.FeMale_rb: //当用户选择男性时 Log.i("sex","当前用户选择" +FeMale_rb.getText().toString()); break; } } } }