Most visited

Recently visited

Added in API level 11

FragmentTransaction

public abstract class FragmentTransaction
extends Object

java.lang.Object
   ↳ android.app.FragmentTransaction


API for performing a set of Fragment operations.

Developer Guides

For more information about using fragments, read the Fragments developer guide.

Summary

Constants

int TRANSIT_ENTER_MASK

Bit mask that is set for all enter transitions.

int TRANSIT_EXIT_MASK

Bit mask that is set for all exit transitions.

int TRANSIT_FRAGMENT_CLOSE

Fragment is being removed from the stack

int TRANSIT_FRAGMENT_FADE

Fragment should simply fade in or out; that is, no strong navigation associated with it except that it is appearing or disappearing for some reason.

int TRANSIT_FRAGMENT_OPEN

Fragment is being added onto the stack

int TRANSIT_NONE

No animation for transition.

int TRANSIT_UNSET

Not set up for a transition.

Public constructors

FragmentTransaction()

Public methods

abstract FragmentTransaction add(Fragment fragment, String tag)

Calls add(int, Fragment, String) with a 0 containerViewId.

abstract FragmentTransaction add(int containerViewId, Fragment fragment)

Calls add(int, Fragment, String) with a null tag.

abstract FragmentTransaction add(int containerViewId, Fragment fragment, String tag)

Add a fragment to the activity state.

abstract FragmentTransaction addSharedElement(View sharedElement, String name)

Used with to map a View from a removed or hidden Fragment to a View from a shown or added Fragment.

abstract FragmentTransaction addToBackStack(String name)

Add this transaction to the back stack.

abstract FragmentTransaction attach(Fragment fragment)

Re-attach a fragment after it had previously been detached from the UI with detach(Fragment).

abstract int commit()

Schedules a commit of this transaction.

abstract int commitAllowingStateLoss()

Like commit() but allows the commit to be executed after an activity's state is saved.

abstract void commitNow()

Commits this transaction synchronously.

abstract void commitNowAllowingStateLoss()

Like commitNow() but allows the commit to be executed after an activity's state is saved.

abstract FragmentTransaction detach(Fragment fragment)

Detach the given fragment from the UI.

abstract FragmentTransaction disallowAddToBackStack()

Disallow calls to addToBackStack(String).

abstract FragmentTransaction hide(Fragment fragment)

Hides an existing fragment.

abstract boolean isAddToBackStackAllowed()

Returns true if this FragmentTransaction is allowed to be added to the back stack.

abstract boolean isEmpty()
abstract FragmentTransaction remove(Fragment fragment)

Remove an existing fragment.

abstract FragmentTransaction replace(int containerViewId, Fragment fragment, String tag)

Replace an existing fragment that was added to a container.

abstract FragmentTransaction replace(int containerViewId, Fragment fragment)

Calls replace(int, Fragment, String) with a null tag.

abstract FragmentTransaction setBreadCrumbShortTitle(int res)

Set the short title to show as a bread crumb when this transaction is on the back stack, as used by FragmentBreadCrumbs.

abstract FragmentTransaction setBreadCrumbShortTitle(CharSequence text)

Like setBreadCrumbShortTitle(int) but taking a raw string; this method is not recommended, as the string can not be changed later if the locale changes.

abstract FragmentTransaction setBreadCrumbTitle(int res)

Set the full title to show as a bread crumb when this transaction is on the back stack, as used by FragmentBreadCrumbs.

abstract FragmentTransaction setBreadCrumbTitle(CharSequence text)

Like setBreadCrumbTitle(int) but taking a raw string; this method is not recommended, as the string can not be changed later if the locale changes.

abstract FragmentTransaction setCustomAnimations(int enter, int exit, int popEnter, int popExit)

Set specific animation resources to run for the fragments that are entering and exiting in this transaction.

abstract FragmentTransaction setCustomAnimations(int enter, int exit)

Set specific animation resources to run for the fragments that are entering and exiting in this transaction.

abstract FragmentTransaction setTransition(int transit)

Select a standard transition animation for this transaction.

abstract FragmentTransaction setTransitionStyle(int styleRes)

Set a custom style resource that will be used for resolving transit animations.

abstract FragmentTransaction show(Fragment fragment)

Shows a previously hidden fragment.

Inherited methods

From class java.lang.Object

Constants

TRANSIT_ENTER_MASK

Added in API level 11
int TRANSIT_ENTER_MASK

Bit mask that is set for all enter transitions.

Constant Value: 4096 (0x00001000)

TRANSIT_EXIT_MASK

Added in API level 11
int TRANSIT_EXIT_MASK

Bit mask that is set for all exit transitions.

Constant Value: 8192 (0x00002000)

TRANSIT_FRAGMENT_CLOSE

Added in API level 11
int TRANSIT_FRAGMENT_CLOSE

Fragment is being removed from the stack

Constant Value: 8194 (0x00002002)

TRANSIT_FRAGMENT_FADE

Added in API level 11
int TRANSIT_FRAGMENT_FADE

Fragment should simply fade in or out; that is, no strong navigation associated with it except that it is appearing or disappearing for some reason.

Constant Value: 4099 (0x00001003)

TRANSIT_FRAGMENT_OPEN

Added in API level 11
int TRANSIT_FRAGMENT_OPEN

Fragment is being added onto the stack

Constant Value: 4097 (0x00001001)

TRANSIT_NONE

Added in API level 11
int TRANSIT_NONE

No animation for transition.

Constant Value: 0 (0x00000000)

TRANSIT_UNSET

Added in API level 11
int TRANSIT_UNSET

Not set up for a transition.

Constant Value: -1 (0xffffffff)

Public constructors

FragmentTransaction

Added in API level 11
FragmentTransaction ()

Public methods

add

Added in API level 11
FragmentTransaction add (Fragment fragment, 
                String tag)

Calls add(int, Fragment, String) with a 0 containerViewId.

Parameters
fragment Fragment
tag String
Returns
FragmentTransaction

add

Added in API level 11
FragmentTransaction add (int containerViewId, 
                Fragment fragment)

Calls add(int, Fragment, String) with a null tag.

Parameters
containerViewId int
fragment Fragment
Returns
FragmentTransaction

add

Added in API level 11
FragmentTransaction add (int containerViewId, 
                Fragment fragment, 
                String tag)

Add a fragment to the activity state. This fragment may optionally also have its view (if Fragment.onCreateView returns non-null) inserted into a container view of the activity.

Parameters
containerViewId int: Optional identifier of the container this fragment is to be placed in. If 0, it will not be placed in a container.
fragment Fragment: The fragment to be added. This fragment must not already be added to the activity.
tag String: Optional tag name for the fragment, to later retrieve the fragment with FragmentManager.findFragmentByTag(String).
Returns
FragmentTransaction Returns the same FragmentTransaction instance.

addSharedElement

Added in API level 21
FragmentTransaction addSharedElement (View sharedElement, 
                String name)

Used with to map a View from a removed or hidden Fragment to a View from a shown or added Fragment.

Parameters
sharedElement View: A View in a disappearing Fragment to match with a View in an appearing Fragment.
name String: The transitionName for a View in an appearing Fragment to match to the shared element.
Returns
FragmentTransaction

addToBackStack

Added in API level 11
FragmentTransaction addToBackStack (String name)

Add this transaction to the back stack. This means that the transaction will be remembered after it is committed, and will reverse its operation when later popped off the stack.

Parameters
name String: An optional name for this back stack state, or null.
Returns
FragmentTransaction

attach

Added in API level 13
FragmentTransaction attach (Fragment fragment)

Re-attach a fragment after it had previously been detached from the UI with detach(Fragment). This causes its view hierarchy to be re-created, attached to the UI, and displayed.

Parameters
fragment Fragment: The fragment to be attached.
Returns
FragmentTransaction Returns the same FragmentTransaction instance.

commit

Added in API level 11
int commit ()

Schedules a commit of this transaction. The commit does not happen immediately; it will be scheduled as work on the main thread to be done the next time that thread is ready.

A transaction can only be committed with this method prior to its containing activity saving its state. If the commit is attempted after that point, an exception will be thrown. This is because the state after the commit can be lost if the activity needs to be restored from its state. See commitAllowingStateLoss() for situations where it may be okay to lose the commit.

Returns
int Returns the identifier of this transaction's back stack entry, if addToBackStack(String) had been called. Otherwise, returns a negative number.

commitAllowingStateLoss

Added in API level 11
int commitAllowingStateLoss ()

Like commit() but allows the commit to be executed after an activity's state is saved. This is dangerous because the commit can be lost if the activity needs to later be restored from its state, so this should only be used for cases where it is okay for the UI state to change unexpectedly on the user.

Returns
int

commitNow

Added in API level 24
void commitNow ()

Commits this transaction synchronously. Any added fragments will be initialized and brought completely to the lifecycle state of their host and any removed fragments will be torn down accordingly before this call returns. Committing a transaction in this way allows fragments to be added as dedicated, encapsulated components that monitor the lifecycle state of their host while providing firmer ordering guarantees around when those fragments are fully initialized and ready. Fragments that manage views will have those views created and attached.

Calling commitNow is preferable to calling commit() followed by executePendingTransactions() as the latter will have the side effect of attempting to commit all currently pending transactions whether that is the desired behavior or not.

Transactions committed in this way may not be added to the FragmentManager's back stack, as doing so would break other expected ordering guarantees for other asynchronously committed transactions. This method will throw IllegalStateException if the transaction previously requested to be added to the back stack with addToBackStack(String).

A transaction can only be committed with this method prior to its containing activity saving its state. If the commit is attempted after that point, an exception will be thrown. This is because the state after the commit can be lost if the activity needs to be restored from its state. See commitAllowingStateLoss() for situations where it may be okay to lose the commit.

commitNowAllowingStateLoss

Added in API level 24
void commitNowAllowingStateLoss ()

Like commitNow() but allows the commit to be executed after an activity's state is saved. This is dangerous because the commit can be lost if the activity needs to later be restored from its state, so this should only be used for cases where it is okay for the UI state to change unexpectedly on the user.

detach

Added in API level 13
FragmentTransaction detach (Fragment fragment)

Detach the given fragment from the UI. This is the same state as when it is put on the back stack: the fragment is removed from the UI, however its state is still being actively managed by the fragment manager. When going into this state its view hierarchy is destroyed.

Parameters
fragment Fragment: The fragment to be detached.
Returns
FragmentTransaction Returns the same FragmentTransaction instance.

disallowAddToBackStack

Added in API level 11
FragmentTransaction disallowAddToBackStack ()

Disallow calls to addToBackStack(String). Any future calls to addToBackStack will throw IllegalStateException. If addToBackStack has already been called, this method will throw IllegalStateException.

Returns
FragmentTransaction

hide

Added in API level 11
FragmentTransaction hide (Fragment fragment)

Hides an existing fragment. This is only relevant for fragments whose views have been added to a container, as this will cause the view to be hidden.

Parameters
fragment Fragment: The fragment to be hidden.
Returns
FragmentTransaction Returns the same FragmentTransaction instance.

isAddToBackStackAllowed

Added in API level 11
boolean isAddToBackStackAllowed ()

Returns true if this FragmentTransaction is allowed to be added to the back stack. If this method would return false, addToBackStack(String) will throw IllegalStateException.

Returns
boolean True if addToBackStack(String) is permitted on this transaction.

isEmpty

Added in API level 11
boolean isEmpty ()

Returns
boolean true if this transaction contains no operations, false otherwise.

remove

Added in API level 11
FragmentTransaction remove (Fragment fragment)

Remove an existing fragment. If it was added to a container, its view is also removed from that container.

Parameters
fragment Fragment: The fragment to be removed.
Returns
FragmentTransaction Returns the same FragmentTransaction instance.

replace

Added in API level 11
FragmentTransaction replace (int containerViewId, 
                Fragment fragment, 
                String tag)

Replace an existing fragment that was added to a container. This is essentially the same as calling remove(Fragment) for all currently added fragments that were added with the same containerViewId and then add(int, Fragment, String) with the same arguments given here.

Parameters
containerViewId int: Identifier of the container whose fragment(s) are to be replaced.
fragment Fragment: The new fragment to place in the container.
tag String: Optional tag name for the fragment, to later retrieve the fragment with FragmentManager.findFragmentByTag(String).
Returns
FragmentTransaction Returns the same FragmentTransaction instance.

replace

Added in API level 11
FragmentTransaction replace (int containerViewId, 
                Fragment fragment)

Calls replace(int, Fragment, String) with a null tag.

Parameters
containerViewId int
fragment Fragment
Returns
FragmentTransaction

setBreadCrumbShortTitle

Added in API level 11
FragmentTransaction setBreadCrumbShortTitle (int res)

Set the short title to show as a bread crumb when this transaction is on the back stack, as used by FragmentBreadCrumbs.

Parameters
res int: A string resource containing the title.
Returns
FragmentTransaction

setBreadCrumbShortTitle

Added in API level 11
FragmentTransaction setBreadCrumbShortTitle (CharSequence text)

Like setBreadCrumbShortTitle(int) but taking a raw string; this method is not recommended, as the string can not be changed later if the locale changes.

Parameters
text CharSequence
Returns
FragmentTransaction

setBreadCrumbTitle

Added in API level 11
FragmentTransaction setBreadCrumbTitle (int res)

Set the full title to show as a bread crumb when this transaction is on the back stack, as used by FragmentBreadCrumbs.

Parameters
res int: A string resource containing the title.
Returns
FragmentTransaction

setBreadCrumbTitle

Added in API level 11
FragmentTransaction setBreadCrumbTitle (CharSequence text)

Like setBreadCrumbTitle(int) but taking a raw string; this method is not recommended, as the string can not be changed later if the locale changes.

Parameters
text CharSequence
Returns
FragmentTransaction

setCustomAnimations

Added in API level 13
FragmentTransaction setCustomAnimations (int enter, 
                int exit, 
                int popEnter, 
                int popExit)

Set specific animation resources to run for the fragments that are entering and exiting in this transaction. The popEnter and popExit animations will be played for enter/exit operations specifically when popping the back stack.

Parameters
enter int
exit int
popEnter int
popExit int
Returns
FragmentTransaction

setCustomAnimations

Added in API level 11
FragmentTransaction setCustomAnimations (int enter, 
                int exit)

Set specific animation resources to run for the fragments that are entering and exiting in this transaction. These animations will not be played when popping the back stack.

Parameters
enter int
exit int
Returns
FragmentTransaction

setTransition

Added in API level 11
FragmentTransaction setTransition (int transit)

Select a standard transition animation for this transaction. May be one of TRANSIT_NONE, TRANSIT_FRAGMENT_OPEN, TRANSIT_FRAGMENT_CLOSE, or TRANSIT_FRAGMENT_FADE.

Parameters
transit int
Returns
FragmentTransaction

setTransitionStyle

Added in API level 11
FragmentTransaction setTransitionStyle (int styleRes)

Set a custom style resource that will be used for resolving transit animations.

Parameters
styleRes int
Returns
FragmentTransaction

show

Added in API level 11
FragmentTransaction show (Fragment fragment)

Shows a previously hidden fragment. This is only relevant for fragments whose views have been added to a container, as this will cause the view to be shown.

Parameters
fragment Fragment: The fragment to be shown.
Returns
FragmentTransaction Returns the same FragmentTransaction instance.

Hooray!