public static void addFragment(FragmentTransaction fragmentTransaction, Fragment fragment) {
if (fragment.isAdded()) {
for (Fragment aFragment : FragmentsKeeper.getAll()) {
fragmentTransaction.hide(aFragment);
}
fragmentTransaction.show(fragment);
fragmentTransaction.commit();
} else {
for (Fragment aFragment : FragmentsKeeper.getAll()) {
if (aFragment != fragment) {
fragmentTransaction.hide(aFragment);
} else {
fragmentTransaction.add(R.id.main_container, fragment);
}
}
fragmentTransaction.commit();
}
}
public static void addFragment(FragmentTransaction fragmentTransaction, Fragment fragment) {
hideNotTargetFragments(fragmentTransaction, fragment);
if (fragment.isAdded()) {
fragmentTransaction.show(fragment);
} else {
fragmentTransaction.add(R.id.main_container, fragment);
}
fragmentTransaction.commit();
}
private static void hideNotTargetFragments(FragmentTransaction fragmentTransaction, Fragment fragment) {
for (Fragment aFragment : FragmentsKeeper.getAll()) {
if (aFragment != fragment) {
fragmentTransaction.hide(aFragment);
}
}
}