职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1312|回复: 4

android常用控件(二) RadioGroup RadioButton CheckBox Toast的使用

[复制链接]
hxy 发表于 2011-6-12 09:55 | 显示全部楼层 |阅读模式
Android常用控件(二)- RadioGroup、RadioButton、CheckBox、Toast

一、 RadioGroup、RadioButton的用法
RadioGroup是RadioButton的组。一个RadioGroup里面可以有多个RadioButton,但是只能选中其中的一个RadioButton。

示例1:一个应用程序中有两个单选按钮,用于选择男或女。



开发步骤:
1、 新建一个Android应用程序
2、 编写main.xml文件,添加一个RadioGroup标签(还可以设置此标签内的布局方向是水平布局还是垂直布局)
3、 在RadioGroup标签内添加两个RadioButton
4、 编写Activity,先声明3个全局变量,用于接收这三个控件对象
5、 在onCreate()方法内,根据控件i d获得这三个对象并赋给相应的变量
6、 编写监听器,监听器实现的是RadioGroup.OnCheckedChangeListener()提供的接口,需要重写里面的public void onCheckedChanged(RadioGroup group, int checkedId) 方法,这个方法的第一个参数是用来接收RadioGroup对象,第二个参数是用来接收被选中的RadioButton的ID。
在这个方法里面可以做一系列的判断和操作,比如判断RadioButton的id是否等于checkedId,如果等于就可以输出一句话或者使用Toast显示提示消息。
7、将监听器绑定到RadioGroup上
需要主要的是,
a)、这里绑定监听器的是RadioGroup对象而不是RadioButton对象
b)、这里的监听器实现的是RadioGroup.OnCheckedChangeListener()提供的接口。

二、 CheckBox的用法
CheckBox复选框,相信大家都很了解了,这里就不多说了,直接上示例。
示例2:一个应用程序中有三个复选框,可以进行多选操作。



开发步骤:
1、 新建一个Android应用程序
2、 编写main.xml文件,添加三个CheckBox标签
3、 编写Activity,先声明3个全局变量,用于接收这三个控件对象
4、 为每一个CheckBox都编写一个监听器,该监听器实现的是CompoundButton.OnCheckedChangeListener()提供的接口,需要重写里面的public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)方法,这个方法的第一个参数是用来接收CompoundButton对象,第二个参数是用来接收是否被选中,
在这个方法里面可以做一系列的判断和操作,比如判断某个CheckBox有没有被选中
5、 将监听器绑定在对应的CheckBox上

三、 Toast的用法
Toast主要用于提示信息,用起来很方便,一行代码就OK了。
1、 创建Toast对象
makeText(Context context, CharSequence text, int duration);
通过调用这个方法,返回一个Toast对象。
第一个参数是上下文对象,通常是你的应用程序或者Activity对象,
第二个参数就是要显示的文本内容,可以格式化文本
第三个参数是持续多长时间来显示消息,有两个常量:LENGTH_SHORT 或者LENGTH_LONG
2、 调用show()方法显示。
Toast toast = Toast.makeText(RadioTest.this, "female", Toast.LENGTH_SHORT);
toast.show();
在前面的RadioButton示例中,当选中”女”的单选框时调用Toast。



有一点需要注意的是:
RadioGroup的监听器实现是RadioGroup.OnCheckedChangeListener()提供的接口,而CheckBox的监听器实现的是CompoundButton.OnCheckedChangeListener()提供的接口
为什么RadioGroup和CheckBox实现的不是同一个接口呢?
原因大概是因为:
在RadioGroup.OnCheckedChangeListener()里面的onCheckedChanged(RadioGroup group, int checkedId) 方法它里面需要的是一个RadioGroup参数,而RadioGroup并不是CompoundButton的子类,所以它只能再重新写一个这样的接口。
而CheckBox它本身就是CompoundButton的子类,所以它可以直接使用这个接口。


醉倚西风 发表于 2011-6-12 09:55 | 显示全部楼层
这是入门视频的第六集

找不到我 发表于 2011-6-12 09:56 | 显示全部楼层
checkbox的是与非?
。。。。。。。。。
。。。。。。。。。



broken 发表于 2011-7-16 12:09 | 显示全部楼层
楼主,支持!
月上萧萧 发表于 2011-7-23 11:31 | 显示全部楼层
今天再看下
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-4-30 01:49 , Processed in 0.142983 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表