嘿,各位未来的Android大神们!今天咱们来聊聊开发路上两个看似简单、实则暗藏玄机的小玩意儿——单选按钮(RadioButton)和复选框(CheckBox)。别看它们长得像路边摊的煎饼果子一样普通,用不好可是会让用户抓狂的哦。
想象一下:你兴冲冲点了个外卖App,选辣度时“中辣”和“特辣”同时亮起,是不是瞬间想摔手机?或者填问卷时明明选了“已婚”,系统却坚持你还在“热恋中”?这些尴尬全因单选和多选没搞懂!
别慌,今天我就用最接地气的方式,带你扒光这两个组件的“底裤”,从里到外看个明白。文末还准备了即插即用的代码示例,保你学完就能回公司炫技!
一、基础入门:认识按钮界的“单身狗”和“海王”
1. 单选按钮(RadioButton):专一的霸道总裁
单选按钮的本质是“非你不娶”。它必须躺在RadioGroup这个“后宫”里,且同一时间只能有一个选项被选中。就像古代皇帝选妃,翻牌子时总不能同时召见两位娘娘吧?
核心特性:
- 唯一性:同一组内互斥,选A自动取消B
- 依赖RadioGroup:没有Group的RadioButton就像没妈的孩子,根本不起作用
- 典型场景:性别选择、考试单选题、支付方式
2. 复选框(CheckBox):我全都要的成年人
复选框则是“小孩子才做选择,我全都要”!它独立行动,可以任意勾选多个。简直就是自助餐模式——“这个来点,那个也要,除了香菜统统加上!”
核心特性:
- 独立性:各选项互不影响,随意组合
- 多选不限:理论上可以选中所有选项
- 典型场景:兴趣爱好、购物车选品、权限设置
二、深度解剖:按钮们的小心思都在这里了
单选按钮的三大秘密:
- RadioGroup是灵魂伴侣
没有RadioGroup包裹的单选按钮就是耍流氓。Group不仅管理互斥逻辑,还提供orientation属性决定排列方向(垂直或水平)。 - 选中状态监听有玄机
新手常犯的错是在每个RadioButton上设置监听,其实只需要监听RadioGroup即可:
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// checkedId就是被选中的按钮ID
if(checkedId == R.id.radio_male){
Log.d("TAG", "用户选择了男性");
}
}
});
- 默认选中技巧
在XML中设置android:checked="true"可以默认选中,但切记一组内只能设一个!否则最后一个生效。
复选框的四个必知要点:

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



