FragmentManager
abstract classFragmentManager
kotlin.Any | |
↳ | android.app.FragmentManager |
Interface for interacting with Fragment
objects inside of an Activity
While the FragmentManager API was introduced in android.os.Build.VERSION_CODES#HONEYCOMB
, a version of the API at is also available for use on older platforms through androidx.fragment.app.FragmentActivity. See the blog post Fragments For All for more details.
Summary
Nested classes | |
---|---|
abstract |
Representation of an entry on the fragment back stack, as created with |
abstract |
Callback interface for listening to fragment state changes that happen within a given FragmentManager. |
abstract |
Interface to watch for changes to the back stack. |
Constants | |
---|---|
static Int |
Flag for |
Public constructors | |
---|---|
Public methods | |
---|---|
abstract Unit |
Add a new listener for changes to the fragment back stack. |
abstract FragmentTransaction! |
Start a series of edit operations on the Fragments associated with this FragmentManager. |
abstract Unit |
dump(prefix: String!, fd: FileDescriptor!, writer: PrintWriter!, args: Array<String!>!) Print the FragmentManager's state into the given stream. |
open static Unit |
enableDebugLogging(enabled: Boolean) Control whether the framework's internal fragment manager debugging logs are turned on. |
abstract Boolean |
After a |
abstract Fragment! |
findFragmentById(id: Int) Finds a fragment that was identified by the given id either when inflated from XML or as the container ID when added in a transaction. |
abstract Fragment! |
findFragmentByTag(tag: String!) Finds a fragment that was identified by the given tag either when inflated from XML or as supplied when added in a transaction. |
abstract FragmentManager.BackStackEntry! |
getBackStackEntryAt(index: Int) Return the BackStackEntry at index index in the back stack; where the item on the bottom of the stack has index 0. |
abstract Int |
Return the number of entries currently in the back stack. |
abstract Fragment! |
getFragment(bundle: Bundle!, key: String!) Retrieve the current Fragment instance for a reference previously placed with |
abstract MutableList<Fragment!>! |
Get a list of all fragments that are currently added to the FragmentManager. |
abstract Fragment! |
Return the currently active primary navigation fragment for this FragmentManager. |
open Unit |
Invalidate the attached activity's options menu as necessary. |
abstract Boolean |
Returns true if the final |
abstract Boolean |
Returns |
abstract Unit |
Pop the top state off the back stack. |
abstract Unit |
popBackStack(name: String!, flags: Int) Pop the last fragment transition from the manager's fragment back stack. |
abstract Unit |
popBackStack(id: Int, flags: Int) Pop all back stack states up to the one with the given identifier. |
abstract Boolean |
Like |
abstract Boolean |
popBackStackImmediate(name: String!, flags: Int) Like |
abstract Boolean |
popBackStackImmediate(id: Int, flags: Int) Like |
abstract Unit |
putFragment(bundle: Bundle!, key: String!, fragment: Fragment!) Put a reference to a fragment in a Bundle. |
abstract Unit |
registerFragmentLifecycleCallbacks(cb: FragmentManager.FragmentLifecycleCallbacks!, recursive: Boolean) Registers a |
abstract Unit |
Remove a listener that was previously added with |
abstract Fragment.SavedState! |
Save the current instance state of the given Fragment. |
abstract Unit |
Unregisters a previously registered |
Constants
POP_BACK_STACK_INCLUSIVE
static valPOP_BACK_STACK_INCLUSIVE: Int
Deprecated: Deprecated in Java.
Flag for popBackStack(java.lang.String,int)
and popBackStack(int,int)
: If set, and the name or ID of a back stack entry has been supplied, then all matching entries will be consumed until one that doesn't match is found or the bottom of the stack is reached. Otherwise, all entries up to but not including that entry will be removed.
Value: 1
Public constructors
FragmentManager
FragmentManager()
Public methods
addOnBackStackChangedListener
abstract funaddOnBackStackChangedListener(listener: FragmentManager.OnBackStackChangedListener!): Unit
Deprecated: Deprecated in Java.
Add a new listener for changes to the fragment back stack.
beginTransaction
abstract funbeginTransaction(): FragmentTransaction!
Deprecated: Deprecated in Java.
Start a series of edit operations on the Fragments associated with this FragmentManager.
Note: A fragment transaction can only be created/committed prior to an activity saving its state. If you try to commit a transaction after android.app.Activity#onSaveInstanceState (and prior to a following Activity.onStart
or Activity.onResume()
, you will get an error. This is because the framework takes care of saving your current fragments in the state, and if changes are made after the state is saved then they will be lost.
dump
abstract fundump(
prefix: String!,
fd: FileDescriptor!,
writer: PrintWriter!,
args: Array<String!>!
): Unit
Deprecated: Deprecated in Java.
Print the FragmentManager's state into the given stream.
Parameters | |
---|---|
prefix |
String!: Text to print at the front of each line. |
fd |
FileDescriptor!: The raw file descriptor that the dump is being sent to. |
writer |
PrintWriter!: A PrintWriter to which the dump is to be set. |
args |
Array<String!>!: Additional arguments to the dump request. |
enableDebugLogging
open static funenableDebugLogging(enabled: Boolean): Unit
Deprecated: Deprecated in Java.
Control whether the framework's internal fragment manager debugging logs are turned on. If enabled, you will see output in logcat as the framework performs fragment operations.
executePendingTransactions
abstract funexecutePendingTransactions(): Boolean
Deprecated: Deprecated in Java.
After a FragmentTransaction
is committed with FragmentTransaction.commit()
, it is scheduled to be executed asynchronously on the process's main thread. If you want to immediately executing any such pending operations, you can call this function (only from the main thread) to do so. Note that all callbacks and other related behavior will be done from within this call, so be careful about where this is called from.
This also forces the start of any postponed Transactions where Fragment#postponeEnterTransition()
has been called.
Return | |
---|---|
Boolean |
Returns true if there were any pending transactions to be executed. |
findFragmentById
abstract funfindFragmentById(id: Int): Fragment!
Deprecated: Deprecated in Java.
Finds a fragment that was identified by the given id either when inflated from XML or as the container ID when added in a transaction. This first searches through fragments that are currently added to the manager's activity; if no such fragment is found, then all fragments currently on the back stack associated with this ID are searched.
Return | |
---|---|
Fragment! |
The fragment if found or null otherwise. |
findFragmentByTag
abstract funfindFragmentByTag(tag: String!): Fragment!
Deprecated: Deprecated in Java.
Finds a fragment that was identified by the given tag either when inflated from XML or as supplied when added in a transaction. This first searches through fragments that are currently added to the manager's activity; if no such fragment is found, then all fragments currently on the back stack are searched.
Return | |
---|---|
Fragment! |
The fragment if found or null otherwise. |
getBackStackEntryAt
abstract fungetBackStackEntryAt(index: Int): FragmentManager.BackStackEntry!
Deprecated: Deprecated in Java.
Return the BackStackEntry at index index in the back stack; where the item on the bottom of the stack has index 0.
getBackStackEntryCount
abstract fungetBackStackEntryCount(): Int
Deprecated: Deprecated in Java.
Return the number of entries currently in the back stack.
getFragment
abstract fungetFragment(
bundle: Bundle!,
key: String!
): Fragment!
Deprecated: Deprecated in Java.
Retrieve the current Fragment instance for a reference previously placed with putFragment(android.os.Bundle,java.lang.String,android.app.Fragment)
.
Parameters | |
---|---|
bundle |
Bundle!: The bundle from which to retrieve the fragment reference. |
key |
String!: The name of the entry in the bundle. |
Return | |
---|---|
Fragment! |
Returns the current Fragment instance that is associated with the given reference. |
getFragments
abstract fungetFragments(): MutableList<Fragment!>!
Deprecated: Deprecated in Java.
Get a list of all fragments that are currently added to the FragmentManager. This may include those that are hidden as well as those that are shown. This will not include any fragments only in the back stack, or fragments that are detached or removed.
The order of the fragments in the list is the order in which they were added or attached.
Return | |
---|---|
MutableList<Fragment!>! |
A list of all fragments that are added to the FragmentManager. |
getPrimaryNavigationFragment
abstract fungetPrimaryNavigationFragment(): Fragment!
Deprecated: Deprecated in Java.
Return the currently active primary navigation fragment for this FragmentManager.
The primary navigation fragment's child FragmentManager
will be called first to process delegated navigation actions such as popBackStack()
if no ID or transaction name is provided to pop to.
Return | |
---|---|
Fragment! |
the fragment designated as the primary navigation fragment |
invalidateOptionsMenu
open funinvalidateOptionsMenu(): Unit
Deprecated: Deprecated in Java.
Invalidate the attached activity's options menu as necessary. This may end up being deferred until we move to the resumed state.
isDestroyed
abstract funisDestroyed(): Boolean
Deprecated: Deprecated in Java.
Returns true if the final Activity.onDestroy()
call has been made on the FragmentManager's Activity, so this instance is now dead.
isStateSaved
abstract funisStateSaved(): Boolean
Deprecated: Deprecated in Java.
Returns true
if the FragmentManager's state has already been saved by its host. Any operations that would change saved state should not be performed if this method returns true. For example, any popBackStack() method, such as popBackStackImmediate()
or any FragmentTransaction using FragmentTransaction#commit()
instead of FragmentTransaction#commitAllowingStateLoss()
will change the state and will result in an error.
Return | |
---|---|
Boolean |
true if this FragmentManager's state has already been saved by its host |
popBackStack
abstract funpopBackStack(): Unit
Deprecated: Deprecated in Java.
Pop the top state off the back stack. This function is asynchronous -- it enqueues the request to pop, but the action will not be performed until the application returns to its event loop.
popBackStack
abstract funpopBackStack(
name: String!,
flags: Int
): Unit
Deprecated: Deprecated in Java.
Pop the last fragment transition from the manager's fragment back stack. If there is nothing to pop, false is returned. This function is asynchronous -- it enqueues the request to pop, but the action will not be performed until the application returns to its event loop.
Parameters | |
---|---|
name |
String!: If non-null, this is the name of a previous back state to look for; if found, all states up to that state will be popped. The POP_BACK_STACK_INCLUSIVE flag can be used to control whether the named state itself is popped. If null, only the top state is popped. |
flags |
Int: Either 0 or POP_BACK_STACK_INCLUSIVE . |
popBackStack
abstract funpopBackStack(
id: Int,
flags: Int
): Unit
Deprecated: Deprecated in Java.
Pop all back stack states up to the one with the given identifier. This function is asynchronous -- it enqueues the request to pop, but the action will not be performed until the application returns to its event loop.
Parameters | |
---|---|
id |
Int: Identifier of the stated to be popped. If no identifier exists, false is returned. The identifier is the number returned by FragmentTransaction.commit() . The POP_BACK_STACK_INCLUSIVE flag can be used to control whether the named state itself is popped. |
flags |
Int: Either 0 or POP_BACK_STACK_INCLUSIVE . |
popBackStackImmediate
abstract funpopBackStackImmediate(): Boolean
Deprecated: Deprecated in Java.
Like popBackStack()
, but performs the operation immediately inside of the call. This is like calling executePendingTransactions()
afterwards without forcing the start of postponed Transactions.
Return | |
---|---|
Boolean |
Returns true if there was something popped, else false. |
popBackStackImmediate
abstract funpopBackStackImmediate(
name: String!,
flags: Int
): Boolean
Deprecated: Deprecated in Java.
Like popBackStack(java.lang.String,int)
, but performs the operation immediately inside of the call. This is like calling executePendingTransactions()
afterwards without forcing the start of postponed Transactions.
Return | |
---|---|
Boolean |
Returns true if there was something popped, else false. |
popBackStackImmediate
abstract funpopBackStackImmediate(
id: Int,
flags: Int
): Boolean
Deprecated: Deprecated in Java.
Like popBackStack(int,int)
, but performs the operation immediately inside of the call. This is like calling executePendingTransactions()
afterwards without forcing the start of postponed Transactions.
Return | |
---|---|
Boolean |
Returns true if there was something popped, else false. |
putFragment
abstract funputFragment(
bundle: Bundle!,
key: String!,
fragment: Fragment!
): Unit
Deprecated: Deprecated in Java.
Put a reference to a fragment in a Bundle. This Bundle can be persisted as saved state, and when later restoring getFragment(android.os.Bundle,java.lang.String)
will return the current instance of the same fragment.
Parameters | |
---|---|
bundle |
Bundle!: The bundle in which to put the fragment reference. |
key |
String!: The name of the entry in the bundle. |
fragment |
Fragment!: The Fragment whose reference is to be stored. |
registerFragmentLifecycleCallbacks
abstract funregisterFragmentLifecycleCallbacks(
cb: FragmentManager.FragmentLifecycleCallbacks!,
recursive: Boolean
): Unit
Deprecated: Deprecated in Java.
Registers a FragmentLifecycleCallbacks
to listen to fragment lifecycle events happening in this FragmentManager. All registered callbacks will be automatically unregistered when this FragmentManager is destroyed.
Parameters | |
---|---|
cb |
FragmentManager.FragmentLifecycleCallbacks!: Callbacks to register |
recursive |
Boolean: true to automatically register this callback for all child FragmentManagers |
removeOnBackStackChangedListener
abstract funremoveOnBackStackChangedListener(listener: FragmentManager.OnBackStackChangedListener!): Unit
Deprecated: Deprecated in Java.
Remove a listener that was previously added with addOnBackStackChangedListener(android.app.FragmentManager.OnBackStackChangedListener)
.
saveFragmentInstanceState
abstract funsaveFragmentInstanceState(f: Fragment!): Fragment.SavedState!
Deprecated: Deprecated in Java.
Save the current instance state of the given Fragment. This can be used later when creating a new instance of the Fragment and adding it to the fragment manager, to have it create itself to match the current state returned here. Note that there are limits on how this can be used:
- The Fragment must currently be attached to the FragmentManager.
- A new Fragment created using this saved state must be the same class type as the Fragment it was created from.
- The saved state can not contain dependencies on other fragments -- that is it can't use
putFragment(android.os.Bundle,java.lang.String,android.app.Fragment)
to store a fragment reference because that reference may not be valid when this saved state is later used. Likewise the Fragment's target and result code are not included in this state.
Parameters | |
---|---|
f |
Fragment!: The Fragment whose state is to be saved. |
Return | |
---|---|
Fragment.SavedState! |
The generated state. This will be null if there was no interesting state created by the fragment. |
unregisterFragmentLifecycleCallbacks
abstract fununregisterFragmentLifecycleCallbacks(cb: FragmentManager.FragmentLifecycleCallbacks!): Unit
Deprecated: Deprecated in Java.
Unregisters a previously registered FragmentLifecycleCallbacks
. If the callback was not previously registered this call has no effect. All registered callbacks will be automatically unregistered when this FragmentManager is destroyed.
Parameters | |
---|---|
cb |
FragmentManager.FragmentLifecycleCallbacks!: Callbacks to unregister |