FragmentTransaction
  public
  
  
  abstract
  class
  FragmentTransaction
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.app.FragmentTransaction | 
      This class was deprecated
      in API level 28.
    Use the Support Library
      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_MASKBit mask that is set for all enter transitions. | 
| int | TRANSIT_EXIT_MASKBit mask that is set for all exit transitions. | 
| int | TRANSIT_FRAGMENT_CLOSEFragment is being removed from the stack | 
| int | TRANSIT_FRAGMENT_FADEFragment 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_OPENFragment is being added onto the stack | 
| int | TRANSIT_NONENo animation for transition. | 
| int | TRANSIT_UNSETNot set up for a transition. | 
| Public constructors | |
|---|---|
| 
      FragmentTransaction()
       | |
| Public methods | |
|---|---|
| 
        abstract
        
        
        
        
        FragmentTransaction | 
      add(Fragment fragment, String tag)
      Calls  | 
| 
        abstract
        
        
        
        
        FragmentTransaction | 
      add(int containerViewId, Fragment fragment)
      Calls  | 
| 
        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  | 
| 
        abstract
        
        
        
        
        int | 
      commit()
      Schedules a commit of this transaction. | 
| 
        abstract
        
        
        
        
        int | 
      commitAllowingStateLoss()
      Like  | 
| 
        abstract
        
        
        
        
        void | 
      commitNow()
      Commits this transaction synchronously. | 
| 
        abstract
        
        
        
        
        void | 
      commitNowAllowingStateLoss()
      Like  | 
| 
        abstract
        
        
        
        
        FragmentTransaction | 
      detach(Fragment fragment)
      Detach the given fragment from the UI. | 
| 
        abstract
        
        
        
        
        FragmentTransaction | 
      disallowAddToBackStack()
      Disallow calls to  | 
| 
        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  | 
| 
        abstract
        
        
        
        
        FragmentTransaction | 
      runOnCommit(Runnable runnable)
      Add a Runnable to this transaction that will be run after this transaction has been committed. | 
| 
        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  | 
| 
        abstract
        
        
        
        
        FragmentTransaction | 
      setBreadCrumbShortTitle(CharSequence text)
      Like  | 
| 
        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  | 
| 
        abstract
        
        
        
        
        FragmentTransaction | 
      setBreadCrumbTitle(CharSequence text)
      Like  | 
| 
        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 | 
      setPrimaryNavigationFragment(Fragment fragment)
      Set a currently active fragment in this FragmentManager as the primary navigation fragment. | 
| 
        abstract
        
        
        
        
        FragmentTransaction | 
      setReorderingAllowed(boolean reorderingAllowed)
      Sets whether or not to allow optimizing operations within and across transactions. | 
| 
        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 | |
|---|---|
Constants
TRANSIT_ENTER_MASK
public static final int TRANSIT_ENTER_MASK
Bit mask that is set for all enter transitions.
Constant Value: 4096 (0x00001000)
TRANSIT_EXIT_MASK
public static final int TRANSIT_EXIT_MASK
Bit mask that is set for all exit transitions.
Constant Value: 8192 (0x00002000)
TRANSIT_FRAGMENT_CLOSE
public static final int TRANSIT_FRAGMENT_CLOSE
Fragment is being removed from the stack
Constant Value: 8194 (0x00002002)
TRANSIT_FRAGMENT_FADE
public static final 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
public static final int TRANSIT_FRAGMENT_OPEN
Fragment is being added onto the stack
Constant Value: 4097 (0x00001001)
TRANSIT_NONE
public static final int TRANSIT_NONE
No animation for transition.
Constant Value: 0 (0x00000000)
TRANSIT_UNSET
public static final int TRANSIT_UNSET
Not set up for a transition.
Constant Value: -1 (0xffffffff)
Public constructors
FragmentTransaction
public FragmentTransaction ()
Public methods
add
public abstract FragmentTransaction add (Fragment fragment, String tag)
Calls add(int, android.app.Fragment, java.lang.String) with a 0 containerViewId.
| Parameters | |
|---|---|
| fragment | Fragment | 
| tag | String | 
| Returns | |
|---|---|
| FragmentTransaction | |
add
public abstract FragmentTransaction add (int containerViewId, Fragment fragment)
Calls add(int, android.app.Fragment, java.lang.String) with a null tag.
| Parameters | |
|---|---|
| containerViewId | int | 
| fragment | Fragment | 
| Returns | |
|---|---|
| FragmentTransaction | |
add
public abstract 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 withFragmentManager.findFragmentByTag(String). | 
| Returns | |
|---|---|
| FragmentTransaction | Returns the same FragmentTransaction instance. | 
addSharedElement
public 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.
| 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
public abstract 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
public abstract FragmentTransaction attach (Fragment fragment)
Re-attach a fragment after it had previously been detached from
 the UI with detach(android.app.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
public abstract 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(java.lang.String)had been called.  Otherwise, returns
 a negative number. | 
commitAllowingStateLoss
public abstract 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
public abstract 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 FragmentManager.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(java.lang.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
public abstract 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
public abstract 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
public abstract FragmentTransaction disallowAddToBackStack ()
Disallow calls to addToBackStack(java.lang.String). Any future calls to
 addToBackStack will throw IllegalStateException. If addToBackStack
 has already been called, this method will throw IllegalStateException.
| Returns | |
|---|---|
| FragmentTransaction | |
hide
public abstract 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
public abstract boolean isAddToBackStackAllowed ()
Returns true if this FragmentTransaction is allowed to be added to the back
 stack. If this method would return false, addToBackStack(java.lang.String)
 will throw IllegalStateException.
| Returns | |
|---|---|
| boolean | True if addToBackStack(java.lang.String)is permitted on this transaction. | 
isEmpty
public abstract boolean isEmpty ()
| Returns | |
|---|---|
| boolean | trueif this transaction contains no operations,falseotherwise. | 
remove
public abstract 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
public abstract 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(android.app.Fragment) for all
 currently added fragments that were added with the same containerViewId
 and then add(int, android.app.Fragment, java.lang.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 withFragmentManager.findFragmentByTag(String). | 
| Returns | |
|---|---|
| FragmentTransaction | Returns the same FragmentTransaction instance. | 
replace
public abstract FragmentTransaction replace (int containerViewId, Fragment fragment)
Calls replace(int, android.app.Fragment, java.lang.String) with a null tag.
| Parameters | |
|---|---|
| containerViewId | int | 
| fragment | Fragment | 
| Returns | |
|---|---|
| FragmentTransaction | |
runOnCommit
public abstract FragmentTransaction runOnCommit (Runnable runnable)
Add a Runnable to this transaction that will be run after this transaction has
 been committed. If fragment transactions are optimized
 this may be after other subsequent fragment operations have also taken place, or operations
 in this transaction may have been optimized out due to the presence of a subsequent
 fragment transaction in the batch.
 
If a transaction is committed using commitAllowingStateLoss() this runnable
 may be executed when the FragmentManager is in a state where new transactions may not
 be committed without allowing state loss.
runOnCommit may not be used with transactions
 added to the back stack as Runnables cannot be persisted
 with back stack state. IllegalStateException will be thrown if
 addToBackStack(java.lang.String) has been previously called for this transaction
 or if it is called after a call to runOnCommit.
| Parameters | |
|---|---|
| runnable | Runnable: Runnable to add | 
| Returns | |
|---|---|
| FragmentTransaction | this FragmentTransaction | 
| Throws | |
|---|---|
| IllegalStateException | if addToBackStack(java.lang.String)has been called | 
setBreadCrumbShortTitle
public 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.
| Parameters | |
|---|---|
| res | int: A string resource containing the title. | 
| Returns | |
|---|---|
| FragmentTransaction | |
setBreadCrumbShortTitle
public 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.
| Parameters | |
|---|---|
| text | CharSequence | 
| Returns | |
|---|---|
| FragmentTransaction | |
setBreadCrumbTitle
public 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.
| Parameters | |
|---|---|
| res | int: A string resource containing the title. | 
| Returns | |
|---|---|
| FragmentTransaction | |
setBreadCrumbTitle
public 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.
| Parameters | |
|---|---|
| text | CharSequence | 
| Returns | |
|---|---|
| FragmentTransaction | |
setCustomAnimations
public 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. 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
public abstract 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 | |
setPrimaryNavigationFragment
public abstract FragmentTransaction setPrimaryNavigationFragment (Fragment fragment)
Set a currently active fragment in this FragmentManager as the primary navigation fragment.
The primary navigation fragment's
 child FragmentManager will be called first
 to process delegated navigation actions such as FragmentManager.popBackStack()
 if no ID or transaction name is provided to pop to. Navigation operations outside of the
 fragment system may choose to delegate those actions to the primary navigation fragment
 as returned by FragmentManager.getPrimaryNavigationFragment().
The fragment provided must currently be added to the FragmentManager to be set as a primary navigation fragment, or previously added as part of this transaction.
| Parameters | |
|---|---|
| fragment | Fragment: the fragment to set as the primary navigation fragment | 
| Returns | |
|---|---|
| FragmentTransaction | the same FragmentTransaction instance | 
setReorderingAllowed
public abstract FragmentTransaction setReorderingAllowed (boolean reorderingAllowed)
Sets whether or not to allow optimizing operations within and across transactions. This will remove redundant operations, eliminating operations that cancel. For example, if two transactions are executed together, one that adds a fragment A and the next replaces it with fragment B, the operations will cancel and only fragment B will be added. That means that fragment A may not go through the creation/destruction lifecycle.
The side effect of removing redundant operations is that fragments may have state changes out of the expected order. For example, one transaction adds fragment A, a second adds fragment B, then a third removes fragment A. Without removing the redundant operations, fragment B could expect that while it is being created, fragment A will also exist because fragment A will be removed after fragment B was added. With removing redundant operations, fragment B cannot expect fragment A to exist when it has been created because fragment A's add/remove will be optimized out.
 It can also reorder the state changes of Fragments to allow for better Transitions.
 Added Fragments may have Fragment.onCreate(Bundle) called before replaced
 Fragments have Fragment.onDestroy() called.
 
 The default is false for applications targeting version
 versions prior to O and true for applications targeting O and
 later.
| Parameters | |
|---|---|
| reorderingAllowed | boolean:trueto enable optimizing out redundant operations
                          orfalseto disable optimizing out redundant
                          operations on this transaction. | 
| Returns | |
|---|---|
| FragmentTransaction | |
setTransition
public abstract 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: Value isTRANSIT_NONE,TRANSIT_FRAGMENT_OPEN,TRANSIT_FRAGMENT_CLOSE, orTRANSIT_FRAGMENT_FADE | 
| Returns | |
|---|---|
| FragmentTransaction | |
setTransitionStyle
public abstract FragmentTransaction setTransitionStyle (int styleRes)
Set a custom style resource that will be used for resolving transit animations.
| Parameters | |
|---|---|
| styleRes | int | 
| Returns | |
|---|---|
| FragmentTransaction | |
show
public abstract 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. | 
