FragmentTransaction
abstract classFragmentTransaction
kotlin.Any | |
↳ | android.app.FragmentTransaction |
API for performing a set of Fragment operations.
Summary
Constants | |
---|---|
static Int |
Bit mask that is set for all enter transitions. |
static Int |
Bit mask that is set for all exit transitions. |
static Int |
Fragment is being removed from the stack |
static Int |
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. |
static Int |
Fragment is being added onto the stack |
static Int |
No animation for transition. |
static Int |
Not set up for a transition. |
Public constructors | |
---|---|
Public methods | |
---|---|
abstract FragmentTransaction! |
Calls |
abstract FragmentTransaction! |
Calls |
abstract FragmentTransaction! |
Add a fragment to the activity state. |
abstract FragmentTransaction! |
addSharedElement(: View!, : String!) Used with to map a View from a removed or hidden Fragment to a View from a shown or added Fragment. |
abstract FragmentTransaction! |
addToBackStack(name: String?) Add this transaction to the back stack. |
abstract FragmentTransaction! |
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 |
Like |
abstract Unit |
Commits this transaction synchronously. |
abstract Unit |
Like |
abstract FragmentTransaction! |
Detach the given fragment from the UI. |
abstract FragmentTransaction! |
Disallow calls to |
abstract FragmentTransaction! |
Hides an existing fragment. |
abstract Boolean |
Returns true if this FragmentTransaction is allowed to be added to the back stack. |
abstract Boolean |
isEmpty() |
abstract FragmentTransaction! |
Remove an existing fragment. |
abstract FragmentTransaction! |
Calls |
abstract FragmentTransaction! |
Replace an existing fragment that was added to a container. |
abstract FragmentTransaction! |
runOnCommit(runnable: Runnable!) Add a Runnable to this transaction that will be run after this transaction has been committed. |
abstract FragmentTransaction! |
setBreadCrumbShortTitle(res: Int) Set the short title to show as a bread crumb when this transaction is on the back stack, as used by |
abstract FragmentTransaction! |
setBreadCrumbShortTitle(text: CharSequence!) Like |
abstract FragmentTransaction! |
setBreadCrumbTitle(res: Int) Set the full title to show as a bread crumb when this transaction is on the back stack, as used by |
abstract FragmentTransaction! |
setBreadCrumbTitle(text: CharSequence!) Like |
abstract FragmentTransaction! |
setCustomAnimations(enter: Int, exit: Int) Set specific animation resources to run for the fragments that are entering and exiting in this transaction. |
abstract FragmentTransaction! |
setCustomAnimations(enter: Int, exit: Int, popEnter: Int, popExit: Int) Set specific animation resources to run for the fragments that are entering and exiting in this transaction. |
abstract FragmentTransaction! |
Set a currently active fragment in this FragmentManager as the primary navigation fragment. |
abstract FragmentTransaction! |
setReorderingAllowed(reorderingAllowed: Boolean) Sets whether or not to allow optimizing operations within and across transactions. |
abstract FragmentTransaction! |
setTransition(transit: Int) Select a standard transition animation for this transaction. |
abstract FragmentTransaction! |
setTransitionStyle(styleRes: Int) Set a custom style resource that will be used for resolving transit animations. |
abstract FragmentTransaction! |
Shows a previously hidden fragment. |
Constants
TRANSIT_ENTER_MASK
static valTRANSIT_ENTER_MASK: Int
Deprecated: Deprecated in Java.
Bit mask that is set for all enter transitions.
Value: 4096
TRANSIT_EXIT_MASK
static valTRANSIT_EXIT_MASK: Int
Deprecated: Deprecated in Java.
Bit mask that is set for all exit transitions.
Value: 8192
TRANSIT_FRAGMENT_CLOSE
static valTRANSIT_FRAGMENT_CLOSE: Int
Deprecated: Deprecated in Java.
Fragment is being removed from the stack
Value: 8194
TRANSIT_FRAGMENT_FADE
static valTRANSIT_FRAGMENT_FADE: Int
Deprecated: Deprecated in Java.
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.
Value: 4099
TRANSIT_FRAGMENT_OPEN
static valTRANSIT_FRAGMENT_OPEN: Int
Deprecated: Deprecated in Java.
Fragment is being added onto the stack
Value: 4097
TRANSIT_NONE
static valTRANSIT_NONE: Int
Deprecated: Deprecated in Java.
No animation for transition.
Value: 0
TRANSIT_UNSET
static valTRANSIT_UNSET: Int
Deprecated: Deprecated in Java.
Not set up for a transition.
Value: -1
Public constructors
FragmentTransaction
FragmentTransaction()
Public methods
add
abstract funadd(
fragment: Fragment!,
tag: String!
): FragmentTransaction!
Deprecated: Deprecated in Java.
Calls add(int,android.app.Fragment,java.lang.String)
with a 0 containerViewId.
add
abstract funadd(
containerViewId: Int,
fragment: Fragment!
): FragmentTransaction!
Deprecated: Deprecated in Java.
Calls add(int,android.app.Fragment,java.lang.String)
with a null tag.
add
abstract funadd(
containerViewId: Int,
fragment: Fragment!,
tag: String!
): FragmentTransaction!
Deprecated: Deprecated in Java.
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) . |
Return | |
---|---|
FragmentTransaction! |
Returns the same FragmentTransaction instance. |
addSharedElement
abstract funaddSharedElement(
: View!,
: String!
): FragmentTransaction!
Deprecated: Deprecated in Java.
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. |
addToBackStack
abstract funaddToBackStack(name: String?): FragmentTransaction!
Deprecated: Deprecated in Java.
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. |
attach
abstract funattach(fragment: Fragment!): FragmentTransaction!
Deprecated: Deprecated in Java.
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. |
Return | |
---|---|
FragmentTransaction! |
Returns the same FragmentTransaction instance. |
commit
abstract funcommit(): Int
Deprecated: Deprecated in Java.
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.
Return | |
---|---|
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
abstract funcommitAllowingStateLoss(): Int
Deprecated: Deprecated in Java.
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.
commitNow
abstract funcommitNow(): Unit
Deprecated: Deprecated in Java.
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
abstract funcommitNowAllowingStateLoss(): Unit
Deprecated: Deprecated in Java.
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
abstract fundetach(fragment: Fragment!): FragmentTransaction!
Deprecated: Deprecated in Java.
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. |
Return | |
---|---|
FragmentTransaction! |
Returns the same FragmentTransaction instance. |
disallowAddToBackStack
abstract fundisallowAddToBackStack(): FragmentTransaction!
Deprecated: Deprecated in Java.
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.
hide
abstract funhide(fragment: Fragment!): FragmentTransaction!
Deprecated: Deprecated in Java.
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. |
Return | |
---|---|
FragmentTransaction! |
Returns the same FragmentTransaction instance. |
isAddToBackStackAllowed
abstract funisAddToBackStackAllowed(): Boolean
Deprecated: Deprecated in Java.
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
.
Return | |
---|---|
Boolean |
True if addToBackStack(java.lang.String) is permitted on this transaction. |
isEmpty
abstract funisEmpty(): Boolean
Deprecated: Deprecated in Java.
Return | |
---|---|
Boolean |
true if this transaction contains no operations, false otherwise. |
remove
abstract funremove(fragment: Fragment!): FragmentTransaction!
Deprecated: Deprecated in Java.
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. |
Return | |
---|---|
FragmentTransaction! |
Returns the same FragmentTransaction instance. |
replace
abstract funreplace(
containerViewId: Int,
fragment: Fragment!
): FragmentTransaction!
Deprecated: Deprecated in Java.
Calls replace(int,android.app.Fragment,java.lang.String)
with a null tag.
replace
abstract funreplace(
containerViewId: Int,
fragment: Fragment!,
tag: String!
): FragmentTransaction!
Deprecated: Deprecated in Java.
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 with FragmentManager.findFragmentByTag(String) . |
Return | |
---|---|
FragmentTransaction! |
Returns the same FragmentTransaction instance. |
runOnCommit
abstract funrunOnCommit(runnable: Runnable!): FragmentTransaction!
Deprecated: Deprecated in Java.
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 |
Return | |
---|---|
FragmentTransaction! |
this FragmentTransaction |
Exceptions | |
---|---|
java.lang.IllegalStateException |
if addToBackStack(java.lang.String) has been called |
setBreadCrumbShortTitle
abstract funsetBreadCrumbShortTitle(res: Int): FragmentTransaction!
Deprecated: Deprecated in Java.
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. |
setBreadCrumbShortTitle
abstract funsetBreadCrumbShortTitle(text: CharSequence!): FragmentTransaction!
Deprecated: Deprecated in Java.
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.
setBreadCrumbTitle
abstract funsetBreadCrumbTitle(res: Int): FragmentTransaction!
Deprecated: Deprecated in Java.
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. |
setBreadCrumbTitle
abstract funsetBreadCrumbTitle(text: CharSequence!): FragmentTransaction!
Deprecated: Deprecated in Java.
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.
setCustomAnimations
abstract funsetCustomAnimations(
enter: Int,
exit: Int
): FragmentTransaction!
Deprecated: Deprecated in Java.
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.
setCustomAnimations
abstract funsetCustomAnimations(
enter: Int,
exit: Int,
popEnter: Int,
popExit: Int
): FragmentTransaction!
Deprecated: Deprecated in Java.
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.
setPrimaryNavigationFragment
abstract funsetPrimaryNavigationFragment(: Fragment!): FragmentTransaction!
Deprecated: Deprecated in Java.
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 |
Return | |
---|---|
FragmentTransaction! |
the same FragmentTransaction instance |
setReorderingAllowed
abstract funsetReorderingAllowed(reorderingAllowed: Boolean): FragmentTransaction!
Deprecated: Deprecated in Java.
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: true to enable optimizing out redundant operations or false to disable optimizing out redundant operations on this transaction. |
setTransition
abstract funsetTransition(transit: Int): FragmentTransaction!
Deprecated: Deprecated in Java.
Select a standard transition animation for this transaction. May be one of TRANSIT_NONE
, TRANSIT_FRAGMENT_OPEN
, TRANSIT_FRAGMENT_CLOSE
, or TRANSIT_FRAGMENT_FADE
.
setTransitionStyle
abstract funsetTransitionStyle(styleRes: Int): FragmentTransaction!
Deprecated: Deprecated in Java.
Set a custom style resource that will be used for resolving transit animations.
show
abstract funshow(fragment: Fragment!): FragmentTransaction!
Deprecated: Deprecated in Java.
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. |
Return | |
---|---|
FragmentTransaction! |
Returns the same FragmentTransaction instance. |