fragment重影解决办法



   if (fragments == null) {
            FragmentManager fragmentManager = getSupportFragmentManager();
            FragmentTransaction transaction = fragmentManager.beginTransaction();
            fragments = new ArrayList<>();
            //直接取出fragment不再 new
            if (saveInstance != null) {
                for(int i=0;i<4;i++){
                    Fragment fragment = fragmentManager.findFragmentByTag(""+i);
                   fragments.add(fragmentManager.findFragmentByTag(""+i)) ;
                    transaction.hide(fragments.get(i));
                }
            } 
            //添加 new的fragment
            else {
                fragments.add(new OrderReceivingPagerFragment());
                fragments.add(new HomePagerFragment());
                fragments.add(new EvaluatePagerFragment());
                fragments.add(new MinePagerFragment());
                for(int i=0;i<4;i++){
                    transaction.add(R.id.frame_content, fragments.get(i), "" + i).hide(fragments.get(i));
                }
            }
                transaction.show(fragments.get(0)).commit();
               
        }


你可能感兴趣的:(Android)