2016-07-08
原CSDN博客已弃用,文章会逐渐迁移过来。
转帖请注明本文出自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;
}
}
}
}