android studio:RadioGroup中不选中RadioButton,Switch case结构就没有Default的问题

weauky 2018-08-29 11:14:06

我做了一个radioGroup如上图,用的switch case, default放最后,
但运行后没有default值,一定要点击选中radioButton,才返回值。
附代码。怎样让这RadioGroup在不选中RadioButton的情况下,有默认值47呢






@Override
public void onCheckedChanged(RadioGroup group, int checkedId){
switch (checkedId)
{ case R.id.Cmajor:
n=47;
break;
case R.id.Ebmajor:
n=44;
case R.id.Emajor:
n=43;
break;
case R.id.Fmajor:
n=42;
break;
case R.id.Cbmajor:
n=46;//47;
break;
case R.id.Dmajor:
n=45;//46;
break;
case R.id.Bmajor:
n=48;//49;
break;
case R.id.Bbmajor:
n=49;//50;
break;
case R.id.Amajor:
n=50;//51;
break;
case R.id.Abmajor:
n=51;
break;
case R.id.Gmajor:
n=52;//53;
break;
case R.id.Gbmajor:
n=53;//54;
break;
default:
n=47;
break;
}
...全文
740 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
欧阳帆54 2018-09-01
  • 打赏
  • 举报
回复
引用 2 楼 ouyangfan54 的回复:
你要明白,onCheckedChanged方法是radioButton的选中项改变之后才会调用,如果不改变它是不会调用的;radioButton的选中项改变了,那么它就必须会有一个checkedId,这个checkedId就是那个选中的radioButton,所以你这个switch永远不会跑到default那里去


如果你要让n=47,那么你在声明n这个变量的时候赋值给它就行了,不需要在这里面去判断
欧阳帆54 2018-09-01
  • 打赏
  • 举报
回复
你要明白,onCheckedChanged方法是radioButton的选中项改变之后才会调用,如果不改变它是不会调用的;radioButton的选中项改变了,那么它就必须会有一个checkedId,这个checkedId就是那个选中的radioButton,所以你这个switch永远不会跑到default那里去
IT屌丝_陈 2018-08-30
  • 打赏
  • 举报
回复
你switch default 要执行了switch case都不满足条件才能调用default啊,

1:你写个变量默认给个值47
2:进入程序手动调用下点击事件

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧