FragmentTransaction调用add方法会再次调用fragment的生命周期
FragmentTransaction调用show方法就可以解决了
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); if(current!=null){ fragmentTransaction.hide(current); } current = fragment; if (fragment != null && fragment.isAdded()) { fragmentTransaction.show(fragment); } else { fragmentTransaction.add(R.id.container, fragment); } fragmentTransaction.commit();
current为当前显示的fragment