discuz5

?找回密码

QQ登录

只需一步,快速开始

查看: 107|回复: 0
打印 上一主题 下一主题

365bet网盘RadioGroup中的RadioButton check()方法调用引发的onCheckedChanged()...

[复制链接]

71

主题

72

帖子

369

积分

管理员

Rank: 9Rank: 9Rank: 9

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

分享到:? QQ好友和群QQ好友和群
收藏收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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