RadioButton和RadioGroup的关系:
1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器
2、每个RadioGroup中的RadioButton同时只能有一个被选中
3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中
4、大部分场合下,一个RadioGroup中至少有2个RadioButton
5、大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起始位置
第一步:xml布局
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.moliwei.myapplication.MainActivity"> <RadioGroup android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/radioGroup1" android:contentDescription="性别" > <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男" android:id="@+id/rdoMale" /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女" android:id="@+id/rdoFemale" android:checked="true" /> </RadioGroup> </RelativeLayout>
第二步:选中项变更的事件监听
package com.example.moliwei.myapplication; import android.provider.MediaStore; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.*;//引入JAVA包 public class MainActivity extends AppCompatActivity { int count=0; private RadioButton radioBtn1; private RadioGroup radioGroupWebsite; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); addListenerRadioButton(); } public void addListenerRadioButton(){ //根据ID找到RadioGroup实例 radioGroupWebsite=(RadioGroup)findViewById(R.id.radioGroup1); radioGroupWebsite.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup arg0, int arg1) { //获取变更后的选中项的ID int radioButtonId=arg0.getCheckedRadioButtonId(); //根据ID获取RadioButton的实例 RadioButton rb=(RadioButton)MainActivity.this.findViewById(radioButtonId); } }); } }