KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
For a android tablet application I use 2 fragments. One on the left side on the screen and one on the right side. When you click on a button at the right fragment, another fragment wil be added on the top of the right fragment. This fragment is added to the backstack. FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.add(R.id.fragmentlayout, fragment2); ft.addToBackStack("Fragment2"); ft.commit(); The backstack is now: [fragment 1] -> [fragment 2] On the left side is also a button that opens a fragment on top of the left fragment (same as fragment2) and adds it to the backstack. The backstack is now [fragment 1] -> [fragment 2] -> [fragment 3] On fragment 2 is a button to close that fragment. getFragmentManager().popBackStack("Fragment2", FragmentManager.POP_BACK_STACK_INCLUSIVE); The problem is when I only want to close [fragment 2], [fragment 3] will also be destroyed. I can remove the fragment manualy by calling FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction(); ft.remove(fragment2).commit(); But the backstack will remain [fragment 1] -> [(ghost) fragment 2] -> [fragment 3] So you need to press back one time more to close the application. Is there a way to only remove [fragment 2] from the backstack and leave [fragment 3] on the screen?
Tags (comma-separated)
Save Edits
Cancel