Micro
Micro

Reputation: 10891

Does replacing a fragment destroy all hidden fragments

If I have an Activity and I add fragment1, hide fragment1, add fragment2, hide fragment2, then use

fragmentManager.beginTransaction()
                    .replace(R.id.content, fragment3)
                    .commit();

to now replace in fragment3, what happens to fragment1 and fragment2? Do they get destroyed or something or are they still there? (this is all within the same container, R.id.content)

Upvotes: 4

Views: 3068

Answers (2)

dor506
dor506

Reputation: 5414

Unless you add the transaction to backstack, all the the fragments in the container are getting destroyed

Upvotes: 7

Doug Stevenson
Doug Stevenson

Reputation: 317712

If the fragment was added to the back stack, the fragments object instances will have onDestroyView() called, and the data required to reconstruct the fragment is still part of the fragment back stack, so that when fragments are popped off the stack, the prior fragments can be reconstituted and displayed again (similar to activities that may have been destroyed in the activity stack). If the fragment was not part of the back stack, it is simply destroyed because the user can never come back to it.

Upvotes: 0

Related Questions