博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android控件系列之RadioButton&RadioGroup
阅读量:6836 次
发布时间:2019-06-26

本文共 1981 字,大约阅读时间需要 6 分钟。

学习目的:

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 
2  
7  
13  
14
15
16  
17
24

选中项变更的事件监听:

当RadioGroup中的选中项变更后,您可能需要做一些相应,比如上述例子中,性别选择“女”后下面的本文也相应改变,又或者选择不同的性别后,出现符合该性别的头像列表进行更新,女生不会喜欢使用大胡子作为自己的头像。

如果您对监听器不熟悉,可以阅读。

后台代码如下:

1 TextView tv =null;//根据不同选项所要变更的文本控件  2     @Override  3 publicvoid 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 @Override 16 publicvoid onCheckedChanged(RadioGroup arg0, int arg1) {
17 // TODO Auto-generated method stub 18 //获取变更后的选中项的ID 19 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的变更监听事件。

转载于:https://www.cnblogs.com/tfy1332/p/3657030.html

你可能感兴趣的文章
Spark Streaming揭秘 Day17 资源动态分配
查看>>
如何利用snmp协议发现大型复杂环境的网络拓扑
查看>>
ArcGIS批量导出栅格影像的属性表
查看>>
【Android】2.1 PhonewordApp—第1个Android应用程序
查看>>
js下拉框-1
查看>>
移动web开发常用JavaScript代码(转)
查看>>
学习 地图
查看>>
++的实验
查看>>
linux的环境变量
查看>>
编译安装GCC 4.7.2
查看>>
PAT 乙级 1045. 快速排序(25)
查看>>
高性能mysql:创建高性能的索引
查看>>
node.js的net模块实现socket通信
查看>>
Windows应用程序的VC链接器设置
查看>>
用TCP/IP实现自己简单的应用程序协议:最后再返回来看HTTP协议
查看>>
【转】IBM Rational Rose 操作指南(上)
查看>>
【转】linux 查看进程启动路径
查看>>
菜鸟学习WPF(一):开篇
查看>>
基于人脸识别的商业大数据9
查看>>
Hibernate查询HQL(第二部分)
查看>>