Reputation: 62549
I have an 'Activity A' which host a 'Fragment B'. Please confirm that if I call A.finish() then 'fragment B 'gets destroyed. The fragment B would already be added to the fragment manager. I realize that a fragment is a sub-activity but i want to know do i have to tell the fragment manager to release the fragment in Ondestroy or is it all taken care of ?
Upvotes: 6
Views: 7329
Reputation: 697
Yes the fragment is destroyed. From the Android Fragment guide:
For example, when the activity is paused, so are all fragments in it, and when the activity is destroyed, so are all fragments.
Upvotes: 0
Reputation: 26198
but i want to know do i have to tell the fragment manager to
release the fragment in Ondestroy or is it all taken care of ?
By default when you call finish
in your activity it will automatically call onDestroy
method of all the fragments that is attach to the activity thus destroying it, so no need to worry about destroying the fragment in onDestroy
method of your activity.
From the documentation:
For example, when the activity is paused, so are all fragments in it,
and when the activity is destroyed, so are all fragments.
Upvotes: 9
Reputation: 148
Fragments are the Subactivities of an activity. So whenever we will call the finish the fragment associated with it will also get destroyed without notifying FragmentManager.
Upvotes: 0