这个方法适用性有限.

我的是一个mainActivity,然后下部四个按钮,点击时先隐藏所有的fragment,然后再new一个新的出来,如果存在,则直接显示出来,看上去一切都没有问题.

但是通过fragment增加的fragment在切换时就没有办法隐藏了,然后就发生重叠了,有没有什么办法了?

后来想了想,在Fragment中增加的fragment都增加到了退回栈了,那我们直接把退回栈中的所有fragment都清空不就行了吗,试了下,果然没有问题,下面是部分代码

                FragmentManager Fm=getFragmentManager();
                FragmentTransaction FT=Fm.beginTransaction();
                hideFragments(FT);

                getFragmentManager().popBackStack(null,1);  //切换前弹出回退栈中所有fragment


                switch (position) {
                    case 0:
                        if (fragfile ==null){
                            fragfile =new FileFragment();
                            FT.add(R.id.layFrame, fragfile,"Fone");
                        }else {
                            FT.show(fragfile);
                        }
                        break;
                    case 1:
                        if (fragtwo==null){
                            fragtwo=new twoFragment();
                            FT.add(R.id.layFrame,fragtwo,"Ftwo");
                        }else{
                            FT.show(fragtwo);
                        }
                        break;

  

 

相关文章:

  • 2022-12-23
  • 2021-04-19
  • 2021-07-15
  • 2022-12-23
  • 2022-01-15
  • 2022-12-23
  • 2021-08-14
  • 2022-12-23
猜你喜欢
  • 2022-01-09
  • 2023-01-17
  • 2022-01-22
  • 2022-12-23
  • 2022-12-23
  • 2021-06-03
  • 2021-09-21
相关资源
相似解决方案