public class FragmentController
extends Object
java.lang.Object | |
↳ | android.app.FragmentController |
为片段主机提供 FragmentManager
集成点。
主机负责照顾碎片的生命周期。 由FragmentController
提供的方法就是为了这个目的。
Public methods |
|
---|---|
void |
attachHost(Fragment parent) 将主机连接到该控制器的FragmentManager。 |
static final FragmentController |
createController(FragmentHostCallback<?> callbacks) 返回一个 |
void |
dispatchActivityCreated() 将由控制器的FragmentManager管理的所有碎片移动到活动创建状态。 |
void |
dispatchConfigurationChanged(Configuration newConfig) 让由控制器的FragmentManager管理的所有碎片知道发生了配置更改。 |
boolean |
dispatchContextItemSelected(MenuItem item) 将上下文项选择事件发送到由控制器的FragmentManager管理的碎片。 |
void |
dispatchCreate() 将由控制器的FragmentManager管理的所有碎片移动到创建状态。 |
boolean |
dispatchCreateOptionsMenu(Menu menu, MenuInflater inflater) 让由控制器的FragmentManager管理的所有碎片知道他们应该创建一个选项菜单。 |
void |
dispatchDestroy() 将由控制器的FragmentManager管理的所有碎片移动到销毁状态。 |
void |
dispatchDestroyView() 将由控制器的FragmentManager管理的所有碎片移动到销毁视图状态。 |
void |
dispatchLowMemory() 让由控制器的FragmentManager管理的所有碎片知道设备处于内存不足状态。 |
void |
dispatchMultiWindowModeChanged(boolean isInMultiWindowMode) 让由控制器的FragmentManager管理的所有片段知道已更改活动的多窗口模式。 |
boolean |
dispatchOptionsItemSelected(MenuItem item) 将选项项选择事件发送到由控制器的FragmentManager管理的碎片。 |
void |
dispatchOptionsMenuClosed(Menu menu) 让由控制器的FragmentManager管理的所有碎片知道他们的选项菜单已关闭。 |
void |
dispatchPause() 将由控制器的FragmentManager管理的所有碎片移动到暂停状态。 |
void |
dispatchPictureInPictureModeChanged(boolean isInPictureInPictureMode) 让由控制器的FragmentManager管理的所有片段知道活动改变的画中画模式。 |
boolean |
dispatchPrepareOptionsMenu(Menu menu) 让由控制器的FragmentManager管理的所有片段知道他们应该准备他们的选项菜单进行显示。 |
void |
dispatchResume() 将由控制器的FragmentManager管理的所有片段移动到恢复状态。 |
void |
dispatchStart() 将由控制器的FragmentManager管理的所有碎片移动到开始状态。 |
void |
dispatchStop() 将由控制器的FragmentManager管理的所有碎片移动到停止状态。 |
void |
dispatchTrimMemory(int level) 让由控制器的FragmentManager管理的所有碎片知道他们应该减少内存使用量。 |
void |
doLoaderDestroy() 破坏装载者,如果他们的状态不被保留,将其移除。 |
void |
doLoaderStart() 启动装载机。 |
void |
doLoaderStop(boolean retain) 停止装载机,可选地保留它们的状态。 |
void |
dumpLoaders(String prefix, FileDescriptor fd, PrintWriter writer, String[] args) 转储加载器的当前状态。 |
boolean |
execPendingActions() 对由控制器的FragmentManager管理的碎片执行任何挂起的操作。 |
Fragment |
findFragmentByWho(String who) 返回具有给定标识符的片段。 |
FragmentManager |
getFragmentManager() 为此控制器返回一个 |
LoaderManager |
getLoaderManager() 返回一个 |
void |
noteStateNotSaved() 将碎片状态标记为未保存。 |
View |
onCreateView(View parent, String name, Context context, AttributeSet attrs) 实例化片段的视图。 |
void |
reportLoaderStart() 让加载器知道主机已准备好接收通知。 |
void |
restoreAllState(Parcelable state, FragmentManagerNonConfig nonConfig) 恢复所有碎片的保存状态。 |
void |
restoreAllState(Parcelable state, List<Fragment> nonConfigList) 此方法在API级别24中已弃用。请使用 |
void |
restoreLoaderNonConfig(ArrayMap<String, LoaderManager> loaderManagers) 恢复所有LoaderManagers的保存状态。 |
ArrayMap<String, LoaderManager> |
retainLoaderNonConfig() 返回已选择通过配置更改保留其实例的LoaderManagers的列表。 |
FragmentManagerNonConfig |
retainNestedNonConfig() 返回已选择跨配置更改保留其实例的Fragments的嵌套树。 |
List<Fragment> |
retainNonConfig() 此方法在API级别24中已被弃用。使用 |
Parcelable |
saveAllState() 保存所有碎片的状态。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
void attachHost (Fragment parent)
将主机连接到该控制器的FragmentManager。 在使用FragmentManager来管理碎片之前,必须先附加主机。
Parameters | |
---|---|
parent |
Fragment
|
FragmentController createController (FragmentHostCallback<?> callbacks)
返回一个 FragmentController
。
Parameters | |
---|---|
callbacks |
FragmentHostCallback
|
Returns | |
---|---|
FragmentController |
void dispatchActivityCreated ()
将由控制器的FragmentManager管理的所有碎片移动到活动创建状态。
当Fragments应该被通知他们的主机已经被创建时调用。
也可以看看:
void dispatchConfigurationChanged (Configuration newConfig)
让由控制器的FragmentManager管理的所有碎片知道发生了配置更改。
有配置更改时调用。
Parameters | |
---|---|
newConfig |
Configuration
|
boolean dispatchContextItemSelected (MenuItem item)
将上下文项选择事件发送到由控制器的FragmentManager管理的碎片。 一旦事件消耗完毕,将不会执行额外的处理。
选择选项菜单项后立即调用
Parameters | |
---|---|
item |
MenuItem
|
Returns | |
---|---|
boolean |
true if the context menu selection event was consumed |
void dispatchCreate ()
将由控制器的FragmentManager管理的所有碎片移动到创建状态。
在创建碎片时调用。
也可以看看:
boolean dispatchCreateOptionsMenu (Menu menu, MenuInflater inflater)
让由控制器的FragmentManager管理的所有碎片知道他们应该创建一个选项菜单。
当片段应该创建选项菜单时调用。
Parameters | |
---|---|
menu |
Menu
|
inflater |
MenuInflater
|
Returns | |
---|---|
boolean |
true if the options menu contains items to display |
void dispatchDestroy ()
将由控制器的FragmentManager管理的所有碎片移动到销毁状态。
应当销毁碎片时调用。
也可以看看:
void dispatchDestroyView ()
将由控制器的FragmentManager管理的所有碎片移动到销毁视图状态。
当片段的观点应该被破坏时召唤。
也可以看看:
void dispatchLowMemory ()
让由控制器的FragmentManager管理的所有碎片知道设备处于内存不足状态。
当设备内存不足时调用,Fragment应该调整内存使用量。
也可以看看:
void dispatchMultiWindowModeChanged (boolean isInMultiWindowMode)
让由控制器的FragmentManager管理的所有片段知道已更改活动的多窗口模式。
当活动的多窗口模式改变时调用。
Parameters | |
---|---|
isInMultiWindowMode |
boolean
|
boolean dispatchOptionsItemSelected (MenuItem item)
将选项项选择事件发送到由控制器的FragmentManager管理的碎片。 一旦事件消耗完毕,将不会执行额外的处理。
选择选项菜单项后立即调用
Parameters | |
---|---|
item |
MenuItem
|
Returns | |
---|---|
boolean |
true if the options menu selection event was consumed |
void dispatchOptionsMenuClosed (Menu menu)
让由控制器的FragmentManager管理的所有碎片知道他们的选项菜单已关闭。
关闭Fragment的选项菜单后立即调用。
Parameters | |
---|---|
menu |
Menu
|
也可以看看:
void dispatchPause ()
将由控制器的FragmentManager管理的所有碎片移动到暂停状态。
当片段应该暂停时调用。
也可以看看:
void dispatchPictureInPictureModeChanged (boolean isInPictureInPictureMode)
让由控制器的FragmentManager管理的所有片段知道活动改变的画中画模式。
当活动的画中画模式改变时调用。
Parameters | |
---|---|
isInPictureInPictureMode |
boolean
|
boolean dispatchPrepareOptionsMenu (Menu menu)
让由控制器的FragmentManager管理的所有片段知道他们应该准备他们的选项菜单进行显示。
在显示片段的选项菜单之前立即调用。
Parameters | |
---|---|
menu |
Menu
|
Returns | |
---|---|
boolean |
true if the options menu contains items to display |
也可以看看:
void dispatchResume ()
将由控制器的FragmentManager管理的所有片段移动到恢复状态。
当碎片应该恢复时调用。
也可以看看:
void dispatchStart ()
将由控制器的FragmentManager管理的所有碎片移动到开始状态。
当碎片应该启动时调用。
也可以看看:
void dispatchStop ()
将由控制器的FragmentManager管理的所有碎片移动到停止状态。
当碎片应该停止时调用。
也可以看看:
void dispatchTrimMemory (int level)
让由控制器的FragmentManager管理的所有碎片知道他们应该减少内存使用量。
当片段可以释放分配的内存时调用[如片段在后台]。
Parameters | |
---|---|
level |
int
|
也可以看看:
void doLoaderStop (boolean retain)
停止装载机,可选地保留它们的状态。 这对于通过配置更改保持加载器状态很有用。
Parameters | |
---|---|
retain |
boolean : When true , the loaders aren't stopped, but, their instances are retained in a started state |
void dumpLoaders (String prefix, FileDescriptor fd, PrintWriter writer, String[] args)
转储加载器的当前状态。
Parameters | |
---|---|
prefix |
String
|
fd |
FileDescriptor
|
writer |
PrintWriter
|
args |
String
|
boolean execPendingActions ()
对由控制器的FragmentManager管理的碎片执行任何挂起的操作。
当排队的动作可以被执行时调用[例如当片段进入开始或恢复状态时]。
Returns | |
---|---|
boolean |
true if queued actions were performed |
Fragment findFragmentByWho (String who)
返回具有给定标识符的片段。
Parameters | |
---|---|
who |
String
|
Returns | |
---|---|
Fragment |
FragmentManager getFragmentManager ()
为此控制器返回一个 FragmentManager
。
Returns | |
---|---|
FragmentManager |
LoaderManager getLoaderManager ()
返回 LoaderManager
。
Returns | |
---|---|
LoaderManager |
View onCreateView (View parent, String name, Context context, AttributeSet attrs)
实例化片段的视图。
Parameters | |
---|---|
parent |
View : The parent that the created view will be placed in; note that this may be null. |
name |
String : Tag name to be inflated. |
context |
Context : The context the view is being created in. |
attrs |
AttributeSet : Inflation attributes as specified in XML file. |
Returns | |
---|---|
View |
view the newly created view |
void restoreAllState (Parcelable state, FragmentManagerNonConfig nonConfig)
恢复所有碎片的保存状态。 给定的FragmentManagerNonConfig是通过配置更改保留的Fragment实例,包括嵌套的片段
Parameters | |
---|---|
state |
Parcelable
|
nonConfig |
FragmentManagerNonConfig
|
也可以看看:
void restoreAllState (Parcelable state, List<Fragment> nonConfigList)
此方法在API级别24中已弃用。
使用restoreAllState(Parcelable, FragmentManagerNonConfig)
恢复所有碎片的保存状态。 给定的片段列表是在配置更改中保留的片段实例。
Parameters | |
---|---|
state |
Parcelable
|
nonConfigList |
List
|
也可以看看:
void restoreLoaderNonConfig (ArrayMap<String, LoaderManager> loaderManagers)
恢复所有LoaderManagers的保存状态。 给定的LoaderManager列表是通过配置更改保留的LoaderManager实例。
Parameters | |
---|---|
loaderManagers |
ArrayMap
|
也可以看看:
ArrayMap<String, LoaderManager> retainLoaderNonConfig ()
返回已选择通过配置更改保留其实例的LoaderManagers的列表。
Returns | |
---|---|
ArrayMap<String, LoaderManager> |
FragmentManagerNonConfig retainNestedNonConfig ()
返回已选择跨配置更改保留其实例的Fragments的嵌套树。
Returns | |
---|---|
FragmentManagerNonConfig |
List<Fragment> retainNonConfig ()
此方法在API级别24中已弃用。
使用retainNestedNonConfig()
还可以跟踪保留的嵌套子片段
返回已选择跨配置更改保留其实例的碎片列表。
Returns | |
---|---|
List<Fragment> |