多个fragment中重叠问题的解决方法

这个方法适用性有限.

我的是一个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;

  

 

posted @ 2017-08-02 18:11  wjbych  阅读(1494)  评论(0编辑  收藏  举报