学习目的:

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 <?xml version="1.0" encoding="utf-8"?>
2  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent"
6 >
7  <TextView
8 android:layout_width="fill_parent"
9 android:layout_height="wrap_content"
10 android:text="请选择您的性别:"
11 android:textSize="9pt"
12 />
13  <RadioGroup android:id="@+id/radioGroup" android:contentDescription="性别" android:layout_width="wrap_content" android:layout_height="wrap_content">
14 <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/radioMale" android:text="男" android:checked="true"></RadioButton>
15 <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/radioFemale" android:text="女"></RadioButton>
16  </RadioGroup>
17 <TextView
18 android:id="@+id/tvSex"
19 android:layout_width="fill_parent"
20 android:layout_height="wrap_content"
21 android:text="您的性别是:男"
22 android:textSize="9pt"
23 />
24 </LinearLayout>

选中项变更的事件监听:

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

如果您对监听器不熟悉,可以阅读Android控件系列之Button以及Android监听器。

后台代码如下:

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 @Override
16 public void 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的变更监听事件。

摘自:http://www.cnblogs.com/wt616/archive/2011/06/20/2085531.html

Android控件系列之RadioButtonRadioGroup(转)相关推荐

  1. Android控件系列之RadioButtonRadioGroup

    2019独角兽企业重金招聘Python工程师标准>>> 学习目的: 1.掌握在Android中如何建立RadioGroup和RadioButton 2.掌握RadioGroup的常用 ...

  2. android 按钮吐司,Android控件系列之Toast使用介绍

    Toast英文含义是吐司,在Android中,它就像烘烤机里做好的吐司弹出来,并持续一小段时间后慢慢消失 Toast也是一个容器,可以包含各种View,并承载着它们显示. 使用场景: 1.需要提示用户 ...

  3. Android控件系列之XML静态资源

    说明:本教程来源于http://www.cnblogs.com/wt616/转载请标注该链接 学习目的: 1.了解在Android中如何设置和调用XML资源 2.掌握如何利用XML和JAVA代码进行协 ...

  4. Android控件系列——ProgressBar

    ProgressBar 提供两种进度显示模式:精确模式,模糊模式,效果见当前文件夹下 精确模式:可看到精确的进度(右) 模糊模式:相当于动画,用户看到到进度信息(左) XML属性 style属性值 W ...

  5. App控件定位:Android 控件介绍及元素定位方法

    本文将分享Android相关基础知识和Android APP控件定位工具的使用方法. 目录 Android基础知识 Android布局 Android四大组件 1.activity 2.Service ...

  6. Android控件点击圆形阴影反馈解决方案

    Android控件点击圆形阴影反馈解决方案 愿景 对于手机App而言,没有反馈效果的按钮使用体验是不舒服的.最近在深入学习Material Design,对其中的ripple效果比较感兴趣.我想着尝试 ...

  7. 【079】用代码来创建 Android 控件

    一般来说我们在创建控件的时候都是在 XML 文件中完成的, 实施起来还是蛮方便的, 而且修改起来也可以很快的看见效果, 但是有一个很大的劣势就是没办法动态的创建控件, 举个例子, 例如我从数据库中取出 ...

  8. Android 控件架构及View、ViewGroup的测量

    附录:示例代码地址 控件在Android开发的过程中是必不可少的,无论是我们在使用系统控件还是自定义的控件.下面我们将讲解一下Android的控件架构,以及如何实现自定义控件. 1.Android控件 ...

  9. Android控件美化Shape

    Android控件美化Shape你会用吗?   -- 未审核 编辑文档  如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android1 ...

  10. android控件属性

    android控件属性 控件属性: android属性 Android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面这篇文章结合了网上不少资料, 第一类:属性值为true或false an ...

最新文章

  1. Opencv中除了cv2.cvtColor彩色图转灰度图之外的其他6种方法
  2. KaliLinuxNetHunter教程下载相关资源
  3. util-C# 复杂条件查询(sql 复杂条件查询)查询解决方案
  4. 小程序 循环中有多个input,怎么获取每个input输入框的值
  5. 十万亿级OLAP引擎解读-AnalyticDB如何支撑数据银行超大规模低成本实时分析
  6. 百度OCR文字识别API使用心得===com.baidu.ocr.sdk.exception.SDKError[283604]
  7. Cpp module
  8. 精品软件 推荐 淘宝 天猫 秒杀助手
  9. 霍夫斯特拉大学计算机科学专业排名,美国霍夫斯特拉大学的最新排名
  10. 欧姆龙485通讯示例程序_黄冈欧姆龙plc培训班
  11. msl3等级烘烤时间_MSL 湿敏等级对应表
  12. 怎么关闭计算机安全,电脑中安全防护怎么关闭
  13. 计算机管理哪个是主板驱动,请问一下这里面哪个是主板驱动?
  14. Ubuntu安装MATLAB并设置桌面快捷方式!!!
  15. 2012服务器系统下怎么分区,Windows Server 2012之更改系统分区
  16. 北京车辆过户全过程(详细得狠)20160729更新,图4幅
  17. Java开发技术总结!小米java校招面试题
  18. 编码转换--字符映射表
  19. plm软件试用测试报告,ANSYS 15.0系列测试报告——FLUENT Meshing 15.0
  20. SFM4300流量传感器应用笔记

热门文章

  1. c++ 一个函数包括多个返回值判断_整活函数式编程
  2. python判断丑数_LeetCode-python 264.丑数 II
  3. java和python有什么区别_Python与Java、C、Ruby、PHP等编程语言有什么区别?
  4. mysql使用mybatis删除不生效_解决myBatis中删除条件的拼接问题
  5. SQL Server2008函数大全(完整版)
  6. nohup方式 真正的后台不挂断运行程序
  7. python中list最大值_【Python实践-5】使用迭代查找一个list中最小和最大值
  8. Anaconda使用conda连接网络时,出现网络错误CondaHTTPError(包括Anaconda安装与入门)
  9. 读取文件时,文本文件的UTF-8格式带来的问题
  10. python写出租车计费系统_出租车计费系统设计 Java