public class MainActivity extends AppCompatActivity { private FragmentManager fragmentManager; private FrameLayout fl; private com.a1511j.day03_fragmentshow_hide.Fragment.f2 f2; private com.a1511j.day03_fragmentshow_hide.Fragment.f1 f1; private com.a1511j.day03_fragmentshow_hide.Fragment.f3 f3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取管理者 fragmentManager = getSupportFragmentManager(); //初始化组件 fl = (FrameLayout) findViewById(R.id.fl); RadioGroup rg= (RadioGroup) findViewById(R.id.rg); //将所有Fragment添加到占位布局 FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); //实例化第一个Frangment f1 = new f1(); fragmentTransaction.add(R.id.fl, f1).commit(); //RadioGroupd点击监听 rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) { //隐藏所有Fragment hidefragment(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); switch (i){ case R.id.ra1: //展示第一个 fragmentTransaction.show(f1).commit(); break; case R.id.ra2: //展示第二个 if(f2==null){ f2=new f2(); fragmentTransaction.add(R.id.fl,f2).commit(); }else{ fragmentTransaction.show(f2).commit(); } break; case R.id.ra3: //展示第三个 if(f3==null){ f3=new f3(); fragmentTransaction.add(R.id.fl,f3).commit(); }else{ fragmentTransaction.show(f3).commit(); } break; } } }); } private void hidefragment() { FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); //如果Fragment不为空并且已经添加,就隐藏 if(f1!=null&&f1.isAdded()){ fragmentTransaction.hide(f1); } if(f2!=null&&f2.isAdded()){ fragmentTransaction.hide(f2); } if(f3!=null&&f3.isAdded()){ fragmentTransaction.hide(f3); } //提交 fragmentTransaction.commit(); } }
Fragment加RadioGroup show和hide
最新推荐文章于 2023-10-12 13:22:01 发布