Android控件之RadioButton

【Android控件之RadioButton】登山则情满于山,观海则意溢于海。这篇文章主要讲述Android控件之RadioButton相关的知识,希望能为你提供帮助。
RadioButton和RadioGroup的关系:
1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器
2、每个RadioGroup中的RadioButton同时只能有一个被选中
3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中
4、大部分场合下,一个RadioGroup中至少有2个RadioButton
5、大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起始位置
 
XML布局:

1 < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2android:layout_width="match_parent" 3android:layout_height="match_parent" 4android:orientation="vertical"> 5 6< RadioGroup 7android:id="@+id/group" 8android:layout_width="wrap_content" 9android:layout_height="wrap_content" 10> 11 12 13< RadioButton 14android:id="@+id/boy" 15android:checked="true"//设置这个RadioButton是默认选中 16android:layout_width="wrap_content" 17android:layout_height="wrap_content" 18android:text="男" /> 19 20< RadioButton 21android:id="@+id/girl" 22android:layout_width="wrap_content" 23android:layout_height="wrap_content" 24android:text="女" /> 25 26 27< /RadioGroup> 28 29< TextView 30android:id="@+id/te" 31android:layout_width="wrap_content" 32android:layout_height="wrap_content" 33android:text="男" 34/> 35 36 < /LinearLayout>

 
java代码:
1 package com.contentprovide.liuliu.radiogroup; 2 3 import android.support.annotation.IdRes; 4 import android.support.v7.app.AppCompatActivity; 5 import android.os.Bundle; 6 import android.widget.RadioButton; 7 import android.widget.RadioGroup; 8 import android.widget.TextView; 9 10 public class MainActivity extends AppCompatActivity { 11RadioGroup group; 12RadioButton check; 13TextView te; 14 15RadioButton boy,girl; 16 17@Override 18protected void onCreate(Bundle savedInstanceState) { 19super.onCreate(savedInstanceState); 20setContentView(R.layout.activity_main); 21group = (RadioGroup) findViewById(R.id.group); 22te = (TextView) findViewById(R.id.te); 23 24boy = (RadioButton) findViewById(R.id.boy); 25girl = (RadioButton) findViewById(R.id.girl); 26 27 28 29group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 30@Override 31public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) { 32 //方法一 33 //check = (RadioButton) findViewById(radioGroup.getCheckedRadioButtonId()); 34 //te.setText(check.getText().toString()); 35 36 //方法二 37if(boy.getId()==i){ 38te.setText(boy.getText().toString()); 39}else if(girl.getId()==i){ 40te.setText(girl.getText().toString()); 41} 42 43 44} 45}); 46 47 48} 49 }

 
代码很少,两种方法也差不多,注意对一下id名,没有备注也比较容易看懂
 

    推荐阅读