您的位置:首页 > 其它

使用RadioGroup和fragment搭建项目框架填坑

2017-07-26 00:46 423 查看
使用RadioGroup和fragment搭建项目框架时,为RadioGroup添加监听事件,调用RadioGroup的check(int radiobuttonId)时,发现onCheckedChanged方法执行了两次
rg.setOnCheckedChangeListener(this);
rg.check(R.id.home);
  运行代码发现以下方法执行两次
Log.e("TAG", "000000000000000000000");   //打印两次日志
  
@Override
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
switch (checkedId) {
case R.id.home :
position=0;
Log.e("TAG", "000000000000000000000");
break;
case R.id.diary :
position=1;
break;
case R.id.add :
position=2;
break;
case R.id.meizi :
position=3;
break;
case R.id.setting :
position=4;
break;
}
Log.e("TAG", "111111111111111111111111111");
switchFragment(mFragment,fragments.get(position));
}
  解决方法:使用以下方法调用,则onCheckedChanged执行一次
rg.setOnCheckedChangeListener(this);
//rg.check(R.id.home);

((RadioButton) rg.findViewById(R.id.home)).setChecked(true);
  

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐