public static void removeAllFragments(FragmentActivity context){ FragmentManager fragmentManager = context.getSupportFragmentManager(); FragmentTransaction transaction = fragmentManager.beginTransaction(); List<Fragment> fragmentList = fragmentManager.getFragments(); if(fragmentList == null || fragmentList.isEmpty()){ Log.e("test", context + " no old Fragment, fragmentList = " + fragmentList ); return; } for (Fragment f : fragmentList) { transaction.remove(f); Log.e("test", context + " delete old Fragment : " + f); } transaction.commitNow(); //transaction.commit(); }
使用
MainActivity.java
@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); FragmentUtil.removeAllFragments(this);
}