关闭

android学习总结(16.08.29)单选按钮(RadioButton),多选按钮(CheckBox)和开关按钮(Switch)

标签: RadioGroupRadioButtonCheckedBoxSwitch选项
438人阅读 评论(0) 收藏 举报
分类:

单选按钮组

介绍单选按钮RadioButton之前,先介绍一下单线按钮的容器RadioGroup

RadioGroup的继承于LinearLayout,它是专门用来容纳单选按钮RadioButton的容器

一个RadioGroup容器为一个单选组

RadioGroup的Orientation属性,决定选项的排列方式为横向或纵向,默认为vertical
在RadioGroup中添加RadioButton控件即可添加一个单选选项

对于RadioButton,一个RadioGroup中只有一个RadioButton可以被选中(名副其实的单选)
RadioButton的checked属性可以设定RadioButton是否被选中,默认值为false


单选项RadioButton的监听器

若要RadioButton对点击(选择)有响应必须使用它的setOnCheckedChangeListener方法绑定监听器
针对单选监听器要实现  接口
RadioGroup.OnCheckedChangeListener()
并重写该接口的onCheckedChanged方法:
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId)
其中group是当前点击或进行选择的RadioGroup选项组,
checkedId是当前被选中的子项目RadioGroup的ID(对应XML)


通常在此方法中处理点击后的相应行为来对不同的子项目RadioButton进行响应

switch(checkId){
    case xxx:
    ....
    case xxx:
    ...

    ...
}



多选按钮

多选项(CheckBox)和单选项(RadioButton)不一样,不用把多个选项放到一个组中
每个CheckBox都单独是一个选项,而且可以多选
其属性checked 决定其是否被选中,默认为false


多选项CheckBox的监听器

使用CheckBox的setOnCheckedChangeListener方法来绑定监听器
监听器要实现接口
CompoundButton.OnCheckedChangeListener   (注意与RadioButton的监听器区分,属于同类中)
并实现接口的void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 方法
方法中buttonView是被点击(checked属性改变)的CheckBox实例的引用,isChecked为被引用的CheckBox实例checked属性的值
这个方法可以对checked属性发生改变的CheckBox作出响应
通常会使用判断语句根据isChecked的值作出不同响应

Switch 开关

注意区分大小写(switch)
和CheckBox类似,个人认为只是外观有区别
也是使用CompoundButton.OnCheckedChangeListener 的实现类的实例作为监听器


三个控件的父类

RadioGroup,CheckBox,Switch都是抽象类CompoundButton的子类
而CompoundButton是Button的子类并实现了Checkable接口
因此Button的所有属性这三个控件都可使用 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:25273次
    • 积分:700
    • 等级:
    • 排名:千里之外
    • 原创:46篇
    • 转载:1篇
    • 译文:0篇
    • 评论:5条
    文章分类
    最新评论