radioGroup = findViewById(R.id.rg); // 默认显示第一个Fragment supportFragmentManager = getSupportFragmentManager(); fragment01 = new Fragment01(); FragmentTransaction fragmentTransaction = supportFragmentManager.beginTransaction(); fragmentTransaction.add(R.id.frag, fragment01).commit(); // 切换Fragment radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) { hideAllFragment(); FragmentTransaction f = supportFragmentManager.beginTransaction(); switch (i) { case R.id.rb1: f.show(fragment01).commit(); break; case R.id.rb2: if(fragment02==null){ fragment02 = new Fragment02(); f.add(R.id.frag,fragment02).commit(); }else{ f.show(fragment02).commit(); } break; case R.id.rb3: if(fragment03==null){ fragment03 = new Fragment03(); f.add(R.id.frag,fragment03).commit(); }else{ f.show(fragment03).commit(); } break; } } }); } // 隐藏所有的Fragment public void hideAllFragment() { FragmentTransaction fragmentTransaction = supportFragmentManager.beginTransaction(); if (fragment01 != null && fragment01.isAdded()) { fragmentTransaction.hide(fragment01); } if (fragment02 != null && fragment02.isAdded()) { fragmentTransaction.hide(fragment02); } if (fragment03 != null && fragment03.isAdded()) { fragmentTransaction.hide(fragment03); } fragmentTransaction.commit(); }
使用事务通过show/hide切换Fragment(代码片段)----苏苏的小弟子
最新推荐文章于 2022-08-10 10:55:22 发布