public abstract class FragmentManager
extends Object
java.lang.Object | |
↳ | android.app.FragmentManager |
用于与 Fragment
内部的 Fragment
对象进行交互的 Activity
有关使用片段的更多信息,请阅读 Fragments开发人员指南。
HONEYCOMB
, a version of the API at is also available for use on older platforms through
FragmentActivity
. See the blog post
Fragments For All for more details.
Nested classes |
|
---|---|
interface |
FragmentManager.BackStackEntry 用 |
interface |
FragmentManager.OnBackStackChangedListener 用于监视后端堆栈变化的接口。 |
Constants |
|
---|---|
int |
POP_BACK_STACK_INCLUSIVE 标志为 |
Public constructors |
|
---|---|
FragmentManager() |
Public methods |
|
---|---|
abstract void |
addOnBackStackChangedListener(FragmentManager.OnBackStackChangedListener listener) 为更改片段返回堆栈添加一个新侦听器。 |
abstract FragmentTransaction |
beginTransaction() 在与此FragmentManager关联的碎片上启动一系列编辑操作。 |
abstract void |
dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args) 将FragmentManager的状态打印到给定的流中。 |
static void |
enableDebugLogging(boolean enabled) 控制框架的内部片段管理器调试日志是否已打开。 |
abstract boolean |
executePendingTransactions() 在 |
abstract Fragment |
findFragmentById(int id) 查找由XML填充时由给定ID标识的片段,或在事务中添加时作为容器标识的片段。 |
abstract Fragment |
findFragmentByTag(String tag) 查找由XML给出的给定标记所标识的片段,或者在事务中添加时给出的片段。 |
abstract FragmentManager.BackStackEntry |
getBackStackEntryAt(int index) 返回堆栈中索引索引处的BackStackEntry; 其中堆栈底部的项目具有索引0。 |
abstract int |
getBackStackEntryCount() 返回当前在回栈中的条目数。 |
abstract Fragment |
getFragment(Bundle bundle, String key) 检索当前的Fragment实例,以查找先前使用 |
void |
invalidateOptionsMenu() 根据需要使附加活动的选项菜单无效。 |
abstract boolean |
isDestroyed() 如果在FragmentManager的活动上进行了最后的 |
abstract void |
popBackStack() 将顶部状态从背面堆叠弹出。 |
abstract void |
popBackStack(int id, int flags) 弹出所有返回堆栈状态直到具有给定标识符的状态。 |
abstract void |
popBackStack(String name, int flags) 从管理器的片段返回栈中弹出最后一个片段转换。 |
abstract boolean |
popBackStackImmediate(int id, int flags) 像 |
abstract boolean |
popBackStackImmediate(String name, int flags) 像 |
abstract boolean |
popBackStackImmediate() 像 |
abstract void |
putFragment(Bundle bundle, String key, Fragment fragment) 将一个片段的引用放入Bundle中。 |
abstract void |
removeOnBackStackChangedListener(FragmentManager.OnBackStackChangedListener listener) 删除以前使用 |
abstract Fragment.SavedState |
saveFragmentInstanceState(Fragment f) 保存给定Fragment的当前实例状态。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
int POP_BACK_STACK_INCLUSIVE
标志为popBackStack(String, int)
和popBackStack(int, int)
:如果已设置,并且提供了返回堆栈条目的名称或标识,则会消耗所有匹配的条目,直至找到不匹配的条目或达到堆栈底部为止。 否则,直到但不包括该条目的所有条目都将被删除。
常数值:1(0x00000001)
void addOnBackStackChangedListener (FragmentManager.OnBackStackChangedListener listener)
为更改片段返回堆栈添加一个新侦听器。
Parameters | |
---|---|
listener |
FragmentManager.OnBackStackChangedListener
|
FragmentTransaction beginTransaction ()
在与此FragmentManager关联的碎片上启动一系列编辑操作。
注:片段事务只能在活动保存其状态之前创建/提交。 如果您尝试在Activity.onSaveInstanceState()
之后提交事务(并且在之前的Activity.onStart
或Activity.onResume()
,您将会看到一个错误,这是因为框架负责将当前碎片保存在状态中,并且如果在状态为那么他们将会失去。
Returns | |
---|---|
FragmentTransaction |
void dump (String prefix, FileDescriptor fd, PrintWriter writer, String[] args)
将FragmentManager的状态打印到给定的流中。
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 |
String : Additional arguments to the dump request. |
void enableDebugLogging (boolean enabled)
控制框架的内部片段管理器调试日志是否已打开。 如果启用,当框架执行片段操作时,您将在logcat中看到输出。
Parameters | |
---|---|
enabled |
boolean
|
boolean executePendingTransactions ()
在FragmentTransaction
与FragmentTransaction.commit()
一起FragmentTransaction.commit()
,它被安排在进程的主线程上异步执行。 如果你想立即执行任何这样的挂起操作,你可以调用这个函数(仅限于主线程)来完成。 请注意,所有回调和其他相关行为都将在此调用中完成,因此请注意这是从哪里调用的。
Returns | |
---|---|
boolean |
Returns true if there were any pending transactions to be executed. |
Fragment findFragmentById (int id)
查找由XML填充时由给定ID标识的片段,或在事务中添加时作为容器标识的片段。 这首先搜索当前添加到经理活动的片段; 如果没有找到这样的片段,则搜索当前在与该ID相关联的背堆栈中的所有片段。
Parameters | |
---|---|
id |
int
|
Returns | |
---|---|
Fragment |
The fragment if found or null otherwise. |
Fragment findFragmentByTag (String tag)
查找由XML给出的给定标记所标识的片段,或者在事务中添加时给出的片段。 这首先搜索当前添加到经理活动的片段; 如果没有找到这样的片段,则搜索当前在返回栈上的所有片段。
Parameters | |
---|---|
tag |
String
|
Returns | |
---|---|
Fragment |
The fragment if found or null otherwise. |
FragmentManager.BackStackEntry getBackStackEntryAt (int index)
返回堆栈中索引索引处的BackStackEntry; 其中堆栈底部的项目具有索引0。
Parameters | |
---|---|
index |
int
|
Returns | |
---|---|
FragmentManager.BackStackEntry |
int getBackStackEntryCount ()
返回当前在回栈中的条目数。
Returns | |
---|---|
int |
Fragment getFragment (Bundle bundle, String key)
检索当前使用 putFragment(Bundle, String, Fragment)
放置的引用的Fragment实例。
Parameters | |
---|---|
bundle |
Bundle : The bundle from which to retrieve the fragment reference. |
key |
String : The name of the entry in the bundle. |
Returns | |
---|---|
Fragment |
Returns the current Fragment instance that is associated with the given reference. |
void invalidateOptionsMenu ()
根据需要使附加活动的选项菜单无效。 这可能最终被推迟到我们进入恢复状态。
boolean isDestroyed ()
如果在FragmentManager的活动上进行了最后的 Activity.onDestroy()
调用,则返回true,所以此实例现在已经死亡。
Returns | |
---|---|
boolean |
void popBackStack ()
将顶部状态从背面堆叠弹出。 这个函数是异步的 - 它将请求排入队列,但是直到应用程序返回到它的事件循环才会执行该动作。
void popBackStack (int id, int flags)
弹出所有返回堆栈状态直到具有给定标识符的状态。 这个函数是异步的 - 它将请求排入队列,但是直到应用程序返回到它的事件循环才会执行该动作。
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 . |
void popBackStack (String name, int flags)
从管理器的片段返回栈中弹出最后一个片段转换。 如果没有东西可以弹出,则返回false。 这个函数是异步的 - 它将请求排入队列,但是直到应用程序返回到它的事件循环才会执行该动作。
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 . |
boolean popBackStackImmediate (int id, int flags)
像popBackStack(int, int)
一样,但是在呼叫内部立即执行操作。 这就像之后调用executePendingTransactions()
。
Parameters | |
---|---|
id |
int
|
flags |
int
|
Returns | |
---|---|
boolean |
Returns true if there was something popped, else false. |
boolean popBackStackImmediate (String name, int flags)
像popBackStack(String, int)
一样,但是在呼叫内部立即执行操作。 这就像之后调用executePendingTransactions()
。
Parameters | |
---|---|
name |
String
|
flags |
int
|
Returns | |
---|---|
boolean |
Returns true if there was something popped, else false. |
boolean popBackStackImmediate ()
像popBackStack()
一样,但是在调用内部立即执行操作。 这就像之后调用executePendingTransactions()
。
Returns | |
---|---|
boolean |
Returns true if there was something popped, else false. |
void putFragment (Bundle bundle, String key, Fragment fragment)
将一个片段的引用放入Bundle中。 这个Bundle可以被保存为保存状态,并且当以后恢复getFragment(Bundle, String)
将返回同一片段的当前实例。
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. |
void removeOnBackStackChangedListener (FragmentManager.OnBackStackChangedListener listener)
删除先前使用 addOnBackStackChangedListener(OnBackStackChangedListener)
添加的侦听 addOnBackStackChangedListener(OnBackStackChangedListener)
。
Parameters | |
---|---|
listener |
FragmentManager.OnBackStackChangedListener
|
Fragment.SavedState saveFragmentInstanceState (Fragment f)
保存给定Fragment的当前实例状态。 这可以在稍后创建Fragment的新实例并将其添加到片段管理器时使用,以使其创建自己以匹配此处返回的当前状态。 请注意,可以如何使用它有限制:
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. Parameters | |
---|---|
f |
Fragment : The Fragment whose state is to be saved. |
Returns | |
---|---|
Fragment.SavedState |
The generated state. This will be null if there was no interesting state created by the fragment. |