discuz5

 找回密码

QQ登录

只需一步,快速开始

查看: 1306|回复: 0

RadioGroup中的RadioButton check()方法调用引发的onCheckedChanged()...

[复制链接]

71

主题

72

帖子

399

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
399
发表于 2017-4-14 23:02:26 | 显示全部楼层 |阅读模式
RadioGroup-RadioButton非常适合于多个选项中只选择一个的情形,对其默认样式进行改变可以方便的用于导航菜单的选项卡等需求中。setOnCheckedChangeListener()为其内部的单选按钮check状态的改变提供了方便实用的回调。编码中,如果直接写成radioGroup.check(xxx),其中参数为RadioButton的id,经常会发现onCheckedChanged()回到被执行了多次。通过查看源码发现,当执行check()方法时,RadioGroup对单选前后不同的状态都进行了回调。实际逻辑中,一般的都是希望只回调当前选中的单选按钮即可。
可以通过如下方式解决:radioButton.setChecked(true);其中,radioButton为当前选中的radioGroup。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系我们
15071753751 18642190905
业务QQ:4767960 微信:k0421001
邮箱:4767960@qq.com 总监微信:qq4767960

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