f1 -> f2
Fragment2 f2 = new Fragment2();
this.getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.main_content,f2).addToBackStack(null).commit();
ничего необычного здесь.Чем во фрагменте f2 этот код приводит вас к фрагменту f3.
f2 -> f3
Fragment3 f3 = new Fragment3();
getActivity().getSupportFragmentManager().popBackStack();
getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.main_content, f3).addToBackStack(null).commit();
Я не уверен, читая документы, если это должно работать, этот метод транзакции всплывающего окна называетсябыть асинхронным, и, возможно, лучшим способом было бы вызвать popBackStackImmediate ().Но насколько я могу судить по моим устройствам, это работает безупречно.
Упомянутая альтернатива будет:
final FragmentActivity activity = getActivity();
activity.getSupportFragmentManager().popBackStackImmediate();
activity.getSupportFragmentManager().beginTransaction().replace(R.id.main_content, f3).addToBackStack(null).commit();
Здесь на самом деле будет краткий переход к f1, прежде чем перейти к f3,так что небольшой сбой.
Это на самом деле все, что вам нужно сделать, и этот ответ также может вам помочь.