java.lang.Object | |
↳ | android.support.v4.app.FragmentManager |
Static library support version of the framework's FragmentManager
.
Used to write apps that run on platforms prior to Android 3.0. When running
on Android 3.0 or above, this implementation is still used; it does not try
to switch to the framework's implementation. See the framework FragmentManager
documentation for a class overview.
Your activity must derive from FragmentActivity
to use this. From such an activity,
you can acquire the FragmentManager
by calling
getSupportFragmentManager()
.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
FragmentManager.BackStackEntry | Representation of an entry on the fragment back stack, as created
with FragmentTransaction.addToBackStack() . |
||||||||||
FragmentManager.OnBackStackChangedListener | Interface to watch for changes to the back stack. |
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | POP_BACK_STACK_INCLUSIVE | Flag for popBackStack(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. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Add a new listener for changes to the fragment back stack.
| |||||||||||
Start a series of edit operations on the Fragments associated with
this FragmentManager.
| |||||||||||
Print the FragmentManager's state into the given stream.
| |||||||||||
Control whether the framework's internal fragment manager debugging
logs are turned on.
| |||||||||||
After a
FragmentTransaction is committed with
FragmentTransaction.commit() , it
is scheduled to be executed asynchronously on the process's main thread. | |||||||||||
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.
| |||||||||||
Finds a fragment that was identified by the given tag either when inflated
from XML or as supplied when added in a transaction.
| |||||||||||
Return the BackStackEntry at index index in the back stack;
entries start index 0 being the bottom of the stack.
| |||||||||||
Return the number of entries currently in the back stack.
| |||||||||||
Retrieve the current Fragment instance for a reference previously
placed with
putFragment(Bundle, String, Fragment) . | |||||||||||
Pop the top state off the back stack.
| |||||||||||
Pop the last fragment transition from the manager's fragment
back stack.
| |||||||||||
Pop all back stack states up to the one with the given identifier.
| |||||||||||
Like
popBackStack(int, int) , but performs the operation immediately
inside of the call. | |||||||||||
Like
popBackStack(String, int) , but performs the operation immediately
inside of the call. | |||||||||||
Like
popBackStack() , but performs the operation immediately
inside of the call. | |||||||||||
Put a reference to a fragment in a Bundle.
| |||||||||||
Remove a listener that was previously added with
addOnBackStackChangedListener(OnBackStackChangedListener) . | |||||||||||
Save the current instance state of the given Fragment.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Flag for popBackStack(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.
Add a new listener for changes to the fragment back stack.
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 FragmentActivity.onSaveInstanceState()
(and prior to a following FragmentActivity.onStart
or FragmentActivity.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.
Print the FragmentManager's state into the given stream.
prefix | Text to print at the front of each line. |
---|---|
fd | The raw file descriptor that the dump is being sent to. |
writer | A PrintWriter to which the dump is to be set. |
args | Additional arguments to the dump request. |
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.
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.
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.
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 the BackStackEntry at index index in the back stack; entries start index 0 being the bottom of the stack.
Return the number of entries currently in the back stack.
Retrieve the current Fragment instance for a reference previously
placed with putFragment(Bundle, String, Fragment)
.
bundle | The bundle from which to retrieve the fragment reference. |
---|---|
key | The name of the entry in the bundle. |
Pop the top state off the back stack. Returns true if there was one to pop, else false. 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.
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.
name | 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 | Either 0 or POP_BACK_STACK_INCLUSIVE .
|
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.
id | 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 | Either 0 or POP_BACK_STACK_INCLUSIVE .
|
Like popBackStack(int, int)
, but performs the operation immediately
inside of the call. This is like calling executePendingTransactions()
afterwards.
Like popBackStack(String, int)
, but performs the operation immediately
inside of the call. This is like calling executePendingTransactions()
afterwards.
Like popBackStack()
, but performs the operation immediately
inside of the call. This is like calling executePendingTransactions()
afterwards.
Put a reference to a fragment in a Bundle. This Bundle can be
persisted as saved state, and when later restoring
getFragment(Bundle, String)
will return the current
instance of the same fragment.
bundle | The bundle in which to put the fragment reference. |
---|---|
key | The name of the entry in the bundle. |
fragment | The Fragment whose reference is to be stored. |
Remove a listener that was previously added with
addOnBackStackChangedListener(OnBackStackChangedListener)
.
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:
putFragment(Bundle, String, 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.
f | The Fragment whose state is to be saved. |
---|