Most visited

Recently visited

FragmentActivity

public class FragmentActivity
extends Activity implements ActivityCompat.OnRequestPermissionsResultCallback, ActivityCompatApi23.RequestPermissionsRequestCodeValidator

java.lang.Object
   ↳ android.content.Context
     ↳ android.content.ContextWrapper
       ↳ android.view.ContextThemeWrapper
         ↳ android.app.Activity
           ↳ android.support.v4.app.FragmentActivity
Known Direct Subclasses
Known Indirect Subclasses


希望使用基于支持的 FragmentLoader API的活动的基类。

在使用此类而不是新平台的内置碎片和加载程序支持时,必须分别使用 getSupportFragmentManager()getSupportLoaderManager()方法来访问这些功能。

已知限制:

Summary

Inherited constants

From class android.app.Activity
From class android.content.Context
From interface android.content.ComponentCallbacks2

Inherited fields

From class android.app.Activity

Public constructors

FragmentActivity()

Public methods

void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args)

将活动的状态打印到给定的流中。

Object getLastCustomNonConfigurationInstance()

返回以前从 onRetainCustomNonConfigurationInstance()返回的值。

FragmentManager getSupportFragmentManager()

返回FragmentManager以与与此活动关联的片段进行交互。

LoaderManager getSupportLoaderManager()
final MediaControllerCompat getSupportMediaController()

检索发送媒体密钥和音量事件的当前 MediaControllerCompat

void onAttachFragment(Fragment fragment)

当片段附加到活动时调用。

void onBackPressed()

注意弹出碎片堆栈或适当地完成活动。

void onConfigurationChanged(Configuration newConfig)

调度配置更改为所有片段。

boolean onCreatePanelMenu(int featureId, Menu menu)

发送到Fragment.onCreateOptionsMenu()。

View onCreateView(View parent, String name, Context context, AttributeSet attrs)

标准实施 onCreateView(View, String, Context, AttributeSet)与返回的LayoutInflater充气时使用 getSystemService(Class )

View onCreateView(String name, Context context, AttributeSet attrs)

标准实施 onCreateView(String, Context, AttributeSet)与返回的LayoutInflater充气时使用 getSystemService(Class )

boolean onKeyDown(int keyCode, KeyEvent event)

照顾为Eclair之前的平台调用onBackPressed()。

void onLowMemory()

将LowMemory()分配给所有片段。

boolean onMenuItemSelected(int featureId, MenuItem item)

将上下文和选项菜单分派给片段。

void onMultiWindowModeChanged(boolean isInMultiWindowMode)

当活动从全屏模式更改为多窗口模式时,由系统调用,反之亦然。

注意:如果您重写此方法,则必须调用 super.onMultiWindowModeChanged才能正确分派事件以支持附加到此活动的片段。

void onPanelClosed(int featureId, Menu menu)

在片段上调用onOptionsMenuClosed()。

void onPictureInPictureModeChanged(boolean isInPictureInPictureMode)

当活动从画中画模式切换到画中画模式时由系统调用。

注意:如果您重写此方法,则必须调用 super.onPictureInPictureModeChanged才能正确分派事件以支持附加到此活动的片段。

boolean onPreparePanel(int featureId, View view, Menu menu)

将onPrepareOptionsMenu()分派给片段。

void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)

从请求权限回调结果。

Object onRetainCustomNonConfigurationInstance()

使用此代替 onRetainNonConfigurationInstance()

final Object onRetainNonConfigurationInstance()

保留所有适当的片段和加载器状态。

void onStateNotSaved()

挂钩注意片段状态不再保存。

void setEnterSharedElementCallback(SharedElementCallback callback)

当使用 makeSceneTransitionAnimation(Activity, android.view.View, String)启动Activity时,将调用 回调来处理 启动的 Activity上的共享元素。

void setExitSharedElementCallback(SharedElementCallback listener)

当使用 makeSceneTransitionAnimation(Activity, android.view.View, String)启动Activity时,将调用 侦听器来处理 启动 Activity上的共享元素。

final void setSupportMediaController(MediaControllerCompat mediaController)

设置 MediaControllerCompat供以后通过 getSupportMediaController()检索。

void startActivityForResult(Intent intent, int requestCode, Bundle options)

在完成后启动您希望得到结果的活动。

void startActivityForResult(Intent intent, int requestCode)

修改标准行为以允许将结果传送到片段。

void startActivityFromFragment(Fragment fragment, Intent intent, int requestCode)

由Fragment.startActivityForResult()调用以实现其行为。

void startActivityFromFragment(Fragment fragment, Intent intent, int requestCode, Bundle options)

由Fragment.startActivityForResult()调用以实现其行为。

void startIntentSenderForResult(IntentSender intent, int requestCode, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)

与呼叫 startIntentSenderForResult(IntentSender, int, Intent, int, int, int, Bundle)没有选项相同。

void startIntentSenderForResult(IntentSender intent, int requestCode, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options)

startActivityForResult(Intent, int)一样,但允许您使用IntentSender来描述要启动的活动。

void startIntentSenderFromFragment(Fragment fragment, IntentSender intent, int requestCode, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options)

由Fragment.startIntentSenderForResult()调用以实现其行为。

void supportFinishAfterTransition()

反转活动场景条目转换并触发调用活动以反转其退出转换。

void supportInvalidateOptionsMenu()

支持库版本 invalidateOptionsMenu()

void supportPostponeEnterTransition()

仅支持API 21及更高版本的支持库版本 postponeEnterTransition()

void supportStartPostponedEnterTransition()

仅支持API 21及更高版本的支持库文件版本 startPostponedEnterTransition()

final void validateRequestPermissionsRequestCode(int requestCode)

Protected methods

void onActivityResult(int requestCode, int resultCode, Intent data)

将传入结果分发到正确的片段。

void onCreate(Bundle savedInstanceState)

执行所有片段和加载器的初始化。

void onDestroy()

销毁所有碎片和装载机。

void onNewIntent(Intent intent)

处理onNewIntent()通知片段管理器状态未保存。

void onPause()

将onPause()分配给碎片。

void onPostResume()

将onResume()分派给片段。

void onResume()

将onResume()分派给片段。

void onResumeFragments()

这是 onResume()的片段定位版本,您可以覆盖该版本, onResume()在恢复其片段的同一点执行Activity中的操作。

void onSaveInstanceState(Bundle outState)

保存所有适当的片段状态。

void onStart()

将onStart()分派给所有片段。

void onStop()

将onStop()分派给所有片段。

Inherited methods

From class android.app.Activity
From class android.view.ContextThemeWrapper
From class android.content.ContextWrapper
From class android.content.Context
From class java.lang.Object
From interface android.view.LayoutInflater.Factory2
From interface android.view.Window.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.View.OnCreateContextMenuListener
From interface android.content.ComponentCallbacks2
From interface android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback
From interface android.support.v4.app.ActivityCompatApi23.RequestPermissionsRequestCodeValidator
From interface android.view.LayoutInflater.Factory
From interface android.content.ComponentCallbacks

Public constructors

FragmentActivity

FragmentActivity ()

Public methods

dump

void dump (String prefix, 
                FileDescriptor fd, 
                PrintWriter writer, 
                String[] args)

将活动的状态打印到给定的流中。 如果运行“adb shell dumpsys活动”,则会被调用 ”。

Parameters
prefix String: Desired prefix to prepend at each line of output.
fd FileDescriptor: The raw file descriptor that the dump is being sent to.
writer PrintWriter: The PrintWriter to which you should dump your state. This will be closed for you after you return.
args String: additional arguments to the dump request.

getLastCustomNonConfigurationInstance

Object getLastCustomNonConfigurationInstance ()

返回以前从 onRetainCustomNonConfigurationInstance()返回的值。

Returns
Object

getSupportFragmentManager

FragmentManager getSupportFragmentManager ()

返回FragmentManager以与与此活动关联的片段进行交互。

Returns
FragmentManager

getSupportLoaderManager

LoaderManager getSupportLoaderManager ()

Returns
LoaderManager

getSupportMediaController

MediaControllerCompat getSupportMediaController ()

检索发送媒体密钥和音量事件的当前 MediaControllerCompat

Returns
MediaControllerCompat The controller which should receive events.

也可以看看:

onAttachFragment

void onAttachFragment (Fragment fragment)

当片段附加到活动时调用。

如果片段还没有先前调用 onCreate则在附加片段 onAttach和附加片段 onCreate之前调用此 onCreate

Parameters
fragment Fragment

onBackPressed

void onBackPressed ()

注意弹出碎片堆栈或适当地完成活动。

onConfigurationChanged

void onConfigurationChanged (Configuration newConfig)

调度配置更改为所有片段。

Parameters
newConfig Configuration: The new device configuration.

onCreatePanelMenu

boolean onCreatePanelMenu (int featureId, 
                Menu menu)

发送到Fragment.onCreateOptionsMenu()。

Parameters
featureId int: The panel being created.
menu Menu: The menu inside the panel.
Returns
boolean boolean You must return true for the panel to be displayed; if you return false it will not be shown.

onCreateView

View onCreateView (View parent, 
                String name, 
                Context context, 
                AttributeSet attrs)

标准实施onCreateView(View, String, Context, AttributeSet)与返回的LayoutInflater充气时使用getSystemService(Class ) 这个实现处理 标签将片段嵌入到活动中。

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 Newly created view. Return null for the default behavior.

onCreateView

View onCreateView (String name, 
                Context context, 
                AttributeSet attrs)

标准实施onCreateView(String, Context, AttributeSet)与返回的LayoutInflater充气时使用getSystemService(Class ) 此实现不会执行任何操作,并且适用于HONEYCOMB应用程序。 较新的应用程序应该使用onCreateView(View, String, Context, AttributeSet)

Parameters
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 Newly created view. Return null for the default behavior.

onKeyDown

boolean onKeyDown (int keyCode, 
                KeyEvent event)

照顾为Eclair之前的平台调用onBackPressed()。

Parameters
keyCode int: The value in event.getKeyCode().
event KeyEvent: Description of the key event.
Returns
boolean Return true to prevent this event from being propagated further, or false to indicate that you have not handled this event and it should continue to be propagated.

onLowMemory

void onLowMemory ()

将LowMemory()分配给所有片段。

onMenuItemSelected

boolean onMenuItemSelected (int featureId, 
                MenuItem item)

将上下文和选项菜单分派给片段。

Parameters
featureId int: The panel that the menu is in.
item MenuItem: The menu item that was selected.
Returns
boolean boolean Return true to finish processing of selection, or false to perform the normal menu handling (calling its Runnable or sending a Message to its target Handler).

onMultiWindowModeChanged

void onMultiWindowModeChanged (boolean isInMultiWindowMode)

当活动从全屏模式更改为多窗口模式时,由系统调用,反之亦然。

注意:如果您重写此方法,则必须调用 super.onMultiWindowModeChanged才能正确分派事件以支持附加到此活动的片段。

Parameters
isInMultiWindowMode boolean: True if the activity is in multi-window mode.

onPanelClosed

void onPanelClosed (int featureId, 
                Menu menu)

在片段上调用onOptionsMenuClosed()。

Parameters
featureId int: The panel that is being displayed.
menu Menu: If onCreatePanelView() returned null, this is the Menu being displayed in the panel.

onPictureInPictureModeChanged

void onPictureInPictureModeChanged (boolean isInPictureInPictureMode)

当活动从画中画模式切换到画中画模式时由系统调用。

注意:如果您重写此方法,则必须调用 super.onPictureInPictureModeChanged才能正确分派事件以支持附加到此活动的片段。

Parameters
isInPictureInPictureMode boolean: True if the activity is in picture-in-picture mode.

onPreparePanel

boolean onPreparePanel (int featureId, 
                View view, 
                Menu menu)

将onPrepareOptionsMenu()分派给片段。

Parameters
featureId int: The panel that is being displayed.
view View: The View that was returned by onCreatePanelView().
menu Menu: If onCreatePanelView() returned null, this is the Menu being displayed in the panel.
Returns
boolean boolean You must return true for the panel to be displayed; if you return false it will not be shown.

onRequestPermissionsResult

void onRequestPermissionsResult (int requestCode, 
                String[] permissions, 
                int[] grantResults)

从请求权限回调结果。 对于requestPermissions(String[], int)上的每个调用都会调用此方法。

注意:与用户的权限请求交互可能会中断。 在这种情况下,您将收到空权限和结果数组,这些数据应视为取消。

Parameters
requestCode int: The request code passed in requestPermissions(String[], int).
permissions String: The requested permissions. Never null.
grantResults int: The grant results for the corresponding permissions which is either PERMISSION_GRANTED or PERMISSION_DENIED. Never null.

也可以看看:

onRetainCustomNonConfigurationInstance

Object onRetainCustomNonConfigurationInstance ()

使用此代替onRetainNonConfigurationInstance() 稍后以getLastCustomNonConfigurationInstance()检索。

Returns
Object

onRetainNonConfigurationInstance

Object onRetainNonConfigurationInstance ()

保留所有适当的片段和加载器状态。 你不能自己重写这个! 如果您想保留自己的状态,请使用onRetainCustomNonConfigurationInstance()

Returns
Object any Object holding the desired state to propagate to the next activity instance

onStateNotSaved

void onStateNotSaved ()

挂钩注意片段状态不再保存。

setEnterSharedElementCallback

void setEnterSharedElementCallback (SharedElementCallback callback)

当使用makeSceneTransitionAnimation(Activity, android.view.View, String)启动Activity时,将调用回调来处理启动的 Activity上的共享元素。 这需要FEATURE_CONTENT_TRANSITIONS

Parameters
callback SharedElementCallback: Used to manipulate shared element transitions on the launched Activity.

setExitSharedElementCallback

void setExitSharedElementCallback (SharedElementCallback listener)

当使用makeSceneTransitionAnimation(Activity, android.view.View, String)启动Activity时,将调用侦听器来处理启动 Activity上的共享元素。 大多数电话只会在从启动的活动返回时才会发生。 这需要FEATURE_CONTENT_TRANSITIONS

Parameters
listener SharedElementCallback: Used to manipulate shared element transitions on the launching Activity.

setSupportMediaController

void setSupportMediaController (MediaControllerCompat mediaController)

设置一个 MediaControllerCompat供以后通过 getSupportMediaController()检索。

在API 21及更高版本中,此控制器将绑定到活动窗口,介质密钥和活动位于前台时收到的卷事件将被转发给控制器,并用于调用传输控件或调整音量。 在API 21之前,通过活跃的MediaSessionCompat和媒体按钮接收器全球处理媒体密钥和音量事件仍将受到尊重。

Parameters
mediaController MediaControllerCompat: The controller for the session which should receive media keys and volume changes on API 21 and later.

也可以看看:

startActivityForResult

void startActivityForResult (Intent intent, 
                int requestCode, 
                Bundle options)

在完成后启动您希望得到结果的活动。 当此活动退出时,将使用给定的requestCode调用onActivityResult()方法。 使用负的requestCode与调用startActivity(Intent)相同(该活动不作为子活动启动)。

请注意,此方法只应与用于返回结果的Intent协议一起使用。 在其他协议(如ACTION_MAINACTION_VIEW )中,如果您期望,可能无法获得结果。 例如,如果您正在启动的活动使用singleTask启动模式,它将不会在您的任务中运行,因此您将立即收到取消结果。

作为一种特殊情况,如果您在activity的初始onCreate(Bundle savedInstanceState)/ onResume()过程中调用startActivityForResult(),并且requestCode> = 0,那么在从已启动的活动返回结果之前,您的窗口将不会显示。 这是为了避免在重定向到其他活动时出现可见的闪烁。

如果没有找到运行给定Intent的活动,则此方法将引发 ActivityNotFoundException

Parameters
intent Intent: The intent to start.
requestCode int: If >= 0, this code will be returned in onActivityResult() when the activity exits.
options Bundle: Additional options for how the Activity should be started. See Context.startActivity(Intent, Bundle) for more details.

startActivityForResult

void startActivityForResult (Intent intent, 
                int requestCode)

修改标准行为以允许将结果传送到片段。 这强制requestCode为<= 0xffff的限制。

Parameters
intent Intent: The intent to start.
requestCode int: If >= 0, this code will be returned in onActivityResult() when the activity exits.

startActivityFromFragment

void startActivityFromFragment (Fragment fragment, 
                Intent intent, 
                int requestCode)

由Fragment.startActivityForResult()调用以实现其行为。

Parameters
fragment Fragment
intent Intent
requestCode int

startActivityFromFragment

void startActivityFromFragment (Fragment fragment, 
                Intent intent, 
                int requestCode, 
                Bundle options)

由Fragment.startActivityForResult()调用以实现其行为。

Parameters
fragment Fragment
intent Intent
requestCode int
options Bundle

startIntentSenderForResult

void startIntentSenderForResult (IntentSender intent, 
                int requestCode, 
                Intent fillInIntent, 
                int flagsMask, 
                int flagsValues, 
                int extraFlags)

与呼叫 startIntentSenderForResult(IntentSender, int, Intent, int, int, int, Bundle) ,没有选项。

Parameters
intent IntentSender: The IntentSender to launch.
requestCode int: If >= 0, this code will be returned in onActivityResult() when the activity exits.
fillInIntent Intent: If non-null, this will be provided as the intent parameter to sendIntent(Context, int, Intent, IntentSender.OnFinished, Handler).
flagsMask int: Intent flags in the original IntentSender that you would like to change.
flagsValues int: Desired values for any bits set in flagsMask
extraFlags int: Always set to 0.
Throws
IntentSender.SendIntentException

startIntentSenderForResult

void startIntentSenderForResult (IntentSender intent, 
                int requestCode, 
                Intent fillInIntent, 
                int flagsMask, 
                int flagsValues, 
                int extraFlags, 
                Bundle options)

startActivityForResult(Intent, int)一样,但允许您使用IntentSender来描述要启动的活动。 如果IntentSender用于某个活动,那么该活动将开始,就像您在此调用常规startActivityForResult(Intent, int) ; 否则,其相关操作将被执行(例如发送广播),就好像您已经调用了IntentSender.sendIntent一样。

Parameters
intent IntentSender: The IntentSender to launch.
requestCode int: If >= 0, this code will be returned in onActivityResult() when the activity exits.
fillInIntent Intent: If non-null, this will be provided as the intent parameter to sendIntent(Context, int, Intent, IntentSender.OnFinished, Handler).
flagsMask int: Intent flags in the original IntentSender that you would like to change.
flagsValues int: Desired values for any bits set in flagsMask
extraFlags int: Always set to 0.
options Bundle: Additional options for how the Activity should be started. See Context.startActivity(Intent, Bundle) for more details. If options have also been supplied by the IntentSender, options given here will override any that conflict with those given by the IntentSender.
Throws
IntentSender.SendIntentException

startIntentSenderFromFragment

void startIntentSenderFromFragment (Fragment fragment, 
                IntentSender intent, 
                int requestCode, 
                Intent fillInIntent, 
                int flagsMask, 
                int flagsValues, 
                int extraFlags, 
                Bundle options)

由Fragment.startIntentSenderForResult()调用以实现其行为。

Parameters
fragment Fragment
intent IntentSender
requestCode int
fillInIntent Intent
flagsMask int
flagsValues int
extraFlags int
options Bundle
Throws
IntentSender.SendIntentException

supportFinishAfterTransition

void supportFinishAfterTransition ()

反转活动场景条目转换并触发调用活动以反转其退出转换。 退出转换完成后, finish() 如果没有使用转换,则立即调用finish()并运行活动出口转换。

在Android 4.4或更低版本中,此方法仅完成Activity而不进行特殊的退出转换。

supportInvalidateOptionsMenu

void supportInvalidateOptionsMenu ()

支持库版本 invalidateOptionsMenu()

使活动的选项菜单失效。 这将导致菜单的相关演示在下次请求菜单时通过调用onCreateOptionsMenu和onPrepareOptionsMenu完全更新。

supportPostponeEnterTransition

void supportPostponeEnterTransition ()

仅支持API 21和更高版本的支持库版本 postponeEnterTransition()

supportStartPostponedEnterTransition

void supportStartPostponedEnterTransition ()

仅支持API 21及更高版本的支持库版本 startPostponedEnterTransition()

validateRequestPermissionsRequestCode

void validateRequestPermissionsRequestCode (int requestCode)

Parameters
requestCode int

Protected methods

onActivityResult

void onActivityResult (int requestCode, 
                int resultCode, 
                Intent data)

将传入结果分发到正确的片段。

Parameters
requestCode int: The integer request code originally supplied to startActivityForResult(), allowing you to identify who this result came from.
resultCode int: The integer result code returned by the child activity through its setResult().
data Intent: An Intent, which can return result data to the caller (various data can be attached to Intent "extras").

onCreate

void onCreate (Bundle savedInstanceState)

执行所有片段和加载器的初始化。

Parameters
savedInstanceState Bundle: If the activity is being re-initialized after previously being shut down then this Bundle contains the data it most recently supplied in onSaveInstanceState(Bundle). Note: Otherwise it is null.

onDestroy

void onDestroy ()

销毁所有碎片和装载机。

onNewIntent

void onNewIntent (Intent intent)

处理onNewIntent()通知片段管理器状态未保存。 如果您正在处理新的意图,并且可能正在对碎片状态进行更改,那么您首先要确保先打电话给超级客户。 否则,如果你的状态被保存但活动没有停止,你可以得到一个在onResume()之前发生的onNewIntent()调用,并且在那一刻尝试执行片断操作会抛出IllegalStateException,因为片段管理器认为状态仍然保存。

Parameters
intent Intent: The new intent that was started for the activity.

onPause

void onPause ()

将onPause()分配给碎片。

onPostResume

void onPostResume ()

将onResume()分派给片段。

onResume

void onResume ()

将onResume()分派给片段。 请注意,为了更好地与旧版本的平台进行互操作,在此调用时,附加到活动的碎片不会恢复。 这意味着在某些情况下,以前的状态仍然可以保存,不允许修改状态的片段事务。 要正确地与处于正确状态的片段交互,您应该覆盖onResumeFragments()

onResumeFragments

void onResumeFragments ()

这是onResume()的片段定向版本,您可以覆盖该版本, onResume()在恢复片段的同一点执行Activity中的操作。 一定要始终打电话给超级班。

onSaveInstanceState

void onSaveInstanceState (Bundle outState)

保存所有适当的片段状态。

Parameters
outState Bundle: Bundle in which to place your saved state.

onStart

void onStart ()

将onStart()分派给所有片段。 确保所有创建的装载机现在都已启动。

onStop

void onStop ()

将onStop()分派给所有片段。 确保所有装载机停止。

Hooray!