学习目的:
1、掌握在Android中如何建立RadioGroup和RadioButton
2、掌握RadioGroup的常用属性
3、理解RadioButton和CheckBox的区别
4、掌握RadioGroup选中状态变换的事件(监听器)
RadioButton和CheckBox的区别:
1、单个RadioButton在选中后,通过点击无法变为未选中
单个CheckBox在选中后,通过点击可以变为未选中
2、一组RadioButton,只能同时选中一个
一组CheckBox,能同时选中多个
3、RadioButton在大部分UI框架中默认都以圆形表示
CheckBox在大部分UI框架中默认都以矩形表示
RadioButton和RadioGroup的关系:
1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器
2、每个RadioGroup中的RadioButton同时只能有一个被选中
3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中
4、大部分场合下,一个RadioGroup中至少有2个RadioButton
5、大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起始位置
XML布局:
1 27 13 14 1715 16 24
选中项变更的事件监听:
当RadioGroup中的选中项变更后,您可能需要做一些相应,比如上述例子中,性别选择“女”后下面的本文也相应改变,又或者选择不同的性别后,出现符合该性别的头像列表进行更新,女生不会喜欢使用大胡子作为自己的头像。
后台代码如下:
1 TextView tv = null;//根据不同选项所要变更的文本控件 2 @Override 3 public void onCreate(Bundle savedInstanceState) { 4 super.onCreate(savedInstanceState); 5 6 setContentView(R.layout.main); 7 8 //根据ID找到该文本控件 9 tv = (TextView)this.findViewById(R.id.tvSex);10 //根据ID找到RadioGroup实例11 RadioGroup group = (RadioGroup)this.findViewById(R.id.radioGroup);12 //绑定一个匿名监听器13 group.setOnCheckedChangeListener(new OnCheckedChangeListener() {14 15 @Override16 public void onCheckedChanged(RadioGroup arg0, int arg1) {17 // TODO Auto-generated method stub18 //获取变更后的选中项的ID19 int radioButtonId = arg0.getCheckedRadioButtonId();20 //根据ID获取RadioButton的实例21 RadioButton rb = (RadioButton)MyActiviy.this.findViewById(radioButtonId);22 //更新文本内容,以符合选中项23 tv.setText("您的性别是:" + rb.getText());24 }25 });26 }
效果如下:
总结:
本文介绍了Android中如何使用RadioGroup和RadioButton,对比了RadioButton和CheckBox的区别,并实现了自定义的RadioGroup中被选中RadioButton的变更监听事件。
转自:http://www.cnblogs.com/wt616/archive/2011/06/20/2085531.html