Usuń jeden konkretny fragment ze backstacka Androida

Do aplikacji na tablety z Androidem używam 2 fragmentów. Jeden po lewej stronie ekranu i jeden po prawej stronie. Po kliknięciu przycisku po prawej stronie zostanie dodany kolejny fragment na górze prawego fragmentu. Ten fragment jest dodawany do plecaka.

FragmentTransaction ft = getFragmentManager().beginTransaction(); 
ft.add(R.id.fragmentlayout, fragment2);
ft.addToBackStack("Fragment2");
ft.commit();

Backstack jest teraz:

[fragment 1] -> [fragment 2]

Po lewej stronie znajduje się również przycisk, który otwiera fragment na górze lewego fragmentu (taki sam jak fragment2) i dodaje go do plecaka. Backstack jest teraz

[fragment 1] -> [fragment 2] -> [fragment 3]

Na fragmencie 2 znajduje się przycisk do zamknięcia tego fragmentu.

getFragmentManager().popBackStack("Fragment2", FragmentManager.POP_BACK_STACK_INCLUSIVE);

Problem polega na tym, że chcę tylko zamknąć [fragment 2], [fragment 3] również zostanie zniszczony. Mogę ręcznie usunąć fragment, dzwoniąc

FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
ft.remove(fragment2).commit();

Ale backstack pozostanie

[fragment 1] -> [(duch) fragment 2] -> [fragment 3]

Musisz więc cofnąć się jeszcze raz, aby zamknąć aplikację.

Czy istnieje sposób na usunięcie [fragmentu 2] z backstacku i pozostawienie [fragment 3] na ekranie?

questionAnswers(4)

yourAnswerToTheQuestion