Fragment 類別

定義

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

[Android.Runtime.Register("android/app/Fragment", DoNotGenerateAcw=true)]
public class Fragment : Java.Lang.Object, Android.Content.IComponentCallbacks2, Android.Views.View.IOnCreateContextMenuListener, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/app/Fragment", DoNotGenerateAcw=true)>]
type Fragment = class
    inherit Object
    interface IComponentCallbacks2
    interface IComponentCallbacks
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface View.IOnCreateContextMenuListener
繼承
Fragment
衍生
屬性
實作

備註

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity。 與片段的互動是透過 FragmentManager完成,可透過 Activity#getFragmentManager() Activity.getFragmentManager()Fragment#getFragmentManager() Fragment.getFragmentManager()取得。

Fragment 類別可以使用許多方法來達成各種不同的結果。 在其核心中,它代表在較大 Activity中執行的特定作業或介面。 片段與它所在的活動緊密系結,而且不能與其中一個分開使用。 雖然 Fragment 會定義自己的生命週期,但該生命週期取決於其活動:如果活動已停止,就無法啟動其內部的片段;當活動終結時,將會終結所有片段。

Fragment 的所有子類別都必須包含公用無自變數建構函式。 架構通常會在需要時重新具現化片段類別,特別是在狀態還原期間,而且必須能夠找到此建構函式來具現化它。 如果無自變數建構函式無法使用,在狀態還原期間會發生運行時間例外狀況。

這裡涵蓋的主題:ol>li 舊版平臺<li 生命週期<li>>版面配置<li>Back Stack</ol><<>

<div class=“special reference”><h3>Developer Guides</h3>

如需使用片段的詳細資訊,請參閱 片段 開發人員指南。

</Div>

“OlderPlatforms”><h3>舊版平臺</h3>

雖然片段 API 是在 中 android.os.Build.VERSION_CODES#HONEYCOMB引進,但的 API 版本也可透過 androidx.fragment.app.FragmentActivity在較舊的平臺上使用。 如需詳細資訊,請參閱部落格文章片段。

“生命週期”><h3>生命週期</h3>

雖然片段的生命週期系結至其擁有的活動,但它有自己的標準活動生命週期。 它包含基本活動生命週期方法,例如 #onResume,但與活動和UI產生互動相關的方法也很重要。

呼叫以啟動片段以繼續狀態 (與用戶互動) 的核心生命週期方法系列如下:

<ol><li>#onAttach 在片段與其活動相關聯之後呼叫。 <li>#onCreate 會呼叫 來執行片段的初始建立。 <li>#onCreateView 會建立並傳回與片段相關聯的檢視階層。 <li>#onActivityCreated 會告訴片段其活動已完成自己的 Activity#onCreate Activity.onCreate()。 <li>#onViewStateRestored 會告知片段已還原其檢視階層的所有已儲存狀態。 <li>#onStart 會根據使用者的包含活動開始) ,讓使用者 (顯示片段。 <li>#onResume 會根據片段的包含活動繼續) ,開始與用戶互動 (。 </老>

當片段不再使用時,它會經歷一系列的反向回呼:

<ol><li>#onPause 片段不再與用戶互動,因為其活動已暫停,或片段作業正在活動中修改。 <用戶無法再看到 li>#onStop 片段,因為其活動正在停止,或片段作業正在活動中修改。 <li>#onDestroyView 可讓片段清除與其檢視相關聯的資源。 <li>#onDestroy 呼叫 以執行片段狀態的最終清除。 <li>#onDetach 會在片段不再與其活動相關聯之前立即呼叫。 </老>

“Layout”><h3>Layout</h3>

片段可用來做為應用程式版面配置的一部分,讓您更妥善地將程式代碼模組化,並更輕鬆地將使用者介面調整為執行所在的畫面。 例如,我們可以查看包含專案清單的簡單程式,以及顯示每個專案的詳細數據。

活動的版面配置 XML 可以包含 &lt;fragment&gt; 標記,以將片段實例內嵌在版面配置內。 例如,以下是內嵌一個片段的簡單版面配置:

{

已取代這個成員。 使用 Jetpack 片段連結庫androidx.fragment.app.Fragment 在所有裝置上保持一致的行為,並存取 生命週期

android.app.FragmentJava 檔。

此頁面的部分是根據 原始碼專案所建立和共用的工作進行修改,並根據 中所述的詞彙使用。

建構函式

Fragment()

預設建構函式。

Fragment(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時所使用的建構函式;由運行時間呼叫。

屬性

Activity

傳回此片段目前相關聯的活動。

AllowEnterTransitionOverlap

傳回結束轉換和輸入轉換重疊。 -或- 設定結束轉換和輸入轉換是否重疊。

AllowReturnTransitionOverlap

傳回轉換和重新輸入轉換是否重疊。 -或- 設定傳回轉換和重新輸入轉換是否重疊。

Arguments

傳回提供給 #setArguments的自變數,如果有的話。 -或- 提供這個片段的建構自變數。

ChildFragmentManager

傳回私人 FragmentManager,以便在此片段內放置及管理片段。

Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
Context

Context傳回此片段目前與相關聯。

EnterTransition

傳回轉換,用來將檢視移至初始場景。 -或- 設定將用來將檢視移至初始場景的轉換。

ExitTransition

傳回轉換,當片段移除、隱藏或中斷連結時,將會用來將檢視移出場景。 -或- 設定在移除、隱藏或中斷連結片段時,用來將檢視移出場景的轉換。

FragmentManager

傳回 FragmentManager,以便與與此片段活動相關聯的片段互動。

Handle

基礎Android實例的句柄。

(繼承來源 Object)
Host

傳回這個片段的主機物件。

Id

傳回這個片段已知的標識碼。

IsAdded

如果片段目前已新增至其活動,則傳回 true。

IsDetached

如果片段已明確從UI中斷連結,則傳回 true。

IsHidden

如果片段已隱藏,則傳回 true。

IsInLayout

如果配置是透過 < 納入活動檢視階層的一部分,則傳回 true;片段>標記。

IsRemoving

如果目前已從其活動中移除此片段,則傳回 true。

IsResumed

如果片段處於繼續狀態,則傳回 true。

IsStateSaved

如果新增此片段,且其狀態已由其主機儲存,則傳回 true。

IsVisible

如果使用者目前可以看到片段,則傳回 true。

JniIdentityHashCode

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

(繼承來源 Object)
JniPeerMembers

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

LayoutInflater

傳回用來擴充此片段檢視的快取 LayoutInflater。

LoaderManager

傳回此片段的LoaderManager,視需要建立它。

ParentFragment

傳回包含這個片段的父片段。

PeerReference

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

(繼承來源 Object)
ReenterTransition

傳回轉換,此轉換會在傳回因返回堆疊而傳回時,用來將檢視移至場景中。 -或- 設定轉換,此轉換會在傳回時用來將檢視移至場景中,因為快顯返回堆棧。

Resources

傳回 getActivity().getResources()

RetainInstance

控制片段實例是否保留在活動重新建立 (,例如從組態變更) 。

ReturnTransition

傳回轉換,當片段準備移除、隱藏或中斷連結時,將檢視移出場景,因為快顯回堆棧。 -或- 設定當片段準備移除、隱藏或中斷連結時,用來將檢視移出場景的轉換,因為快顯回堆棧。

SharedElementEnterTransition

傳回將用於傳輸至內容場景之共用元素的轉換。 -或- 設定將用於傳輸至內容場景之共用元素的轉換。

SharedElementReturnTransition

傳回轉換,此轉換將用於在返回堆疊快顯期間傳回的共享專案。 -或- 設定轉換,此轉換將用於在返回堆疊快顯期間傳回的共享專案。

Tag

如果指定,請取得片段的標記名稱。

TargetFragment

傳回 所 #setTargetFragment設定的目標片段。

TargetRequestCode

傳回 所 #setTargetFragment設定的目標要求碼。

ThresholdClass

此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式代碼使用。

ThresholdType

此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式代碼使用。

UserVisibleHint

將提示設定給系統,以瞭解此片段的UI目前是否對用戶可見。

View

如果提供,請取得片段版面配置 () 傳 #onCreateView 回的根檢視。

方法

Clone()

建立並傳回這個 對象的複本。

(繼承來源 Object)
Dispose()

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

(繼承來源 Object)
Dispose(Boolean)

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

(繼承來源 Object)
Dump(String, FileDescriptor, PrintWriter, String[])

將片段的狀態列印到指定的數據流中。

Equals(Object)
已淘汰.

子類別無法覆寫等於 () 。

GetHashCode()
已淘汰.

子類別無法覆寫hashCode () 。

GetString(Int32)

從應用程式套件的預設字串數據表傳回當地語系化字串。

GetString(Int32, Object[])

從應用程式套件的預設字串數據表傳回當地語系化字串。

GetText(Int32)

從應用程式套件的預設字串數據表傳回當地語系化、樣式的 CharSequence。

GetTextFormatted(Int32)

從應用程式套件的預設字串數據表傳回當地語系化、樣式的 CharSequence。

Instantiate(Context, String)

如同 #instantiate(Context, String, Bundle) ,但具有 Null 自變數 Bundle。

Instantiate(Context, String, Bundle)

使用指定的類別名稱建立 Fragment 的新實例。

JavaFinalize()

當垃圾收集判斷對象沒有其他參考時,由物件上的垃圾收集行程呼叫。

(繼承來源 Object)
Notify()

喚醒正在等候此物件的監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
OnActivityCreated(Bundle)

建立片段的活動並具現化此片段的檢視階層時呼叫。

OnActivityResult(Int32, Result, Intent)

從先前對的呼叫 #startActivityForResult(Intent, int)接收結果。

OnAttach(Activity)

已取代這個成員。

OnAttach(Context)

當片段第一次附加至其內容時呼叫。

OnAttachFragment(Fragment)

當片段附加為這個片段的子系時呼叫。

OnConfigurationChanged(Configuration)

當裝置組態在元件執行時變更時,由系統呼叫。

OnContextItemSelected(IMenuItem)

每當選取操作功能表中的專案時,就會呼叫此勾點。

OnCreate(Bundle)

呼叫 以執行片段的初始建立。

OnCreateAnimator(FragmentTransit, Boolean, Int32)

當片段載入動畫時呼叫。

OnCreateContextMenu(IContextMenu, View, IContextMenuContextMenuInfo)

即將顯示 的內容 view 功能表時呼叫。

OnCreateOptionsMenu(IMenu, MenuInflater)

初始化活動標準選項功能表的內容。

OnCreateView(LayoutInflater, ViewGroup, Bundle)

呼叫 以讓片段具現化其使用者介面檢視。

OnDestroy()

當片段不再使用時呼叫。

OnDestroyOptionsMenu()

當此片段的選項功能表項不再包含在整體選項功能表中時呼叫。

OnDestroyView()

當先前建立 #onCreateView 的檢視已從片段中斷連結時呼叫。

OnDetach()

當片段不再附加至其活動時呼叫。

OnGetLayoutInflater(Bundle)

傳回用來擴充此片段檢視的 LayoutInflater。

OnHiddenChanged(Boolean)

當片段傳 #isHidden() 回的隱藏狀態 (變更時呼叫。

OnInflate(Activity, IAttributeSet, Bundle)

已取代這個成員。

OnInflate(Context, IAttributeSet, Bundle)

當片段建立為檢視版面配置擴大的一部分時呼叫,通常是從設定活動的內容檢視。

OnInflate(IAttributeSet, Bundle)
已淘汰.

已取代這個成員。

OnLowMemory()

當整體系統記憶體不足時,就會呼叫這個值,而且主動執行的進程應該修剪其記憶體使用量。

OnMultiWindowModeChanged(Boolean)

當片段的活動從全螢幕模式變更為多視窗模式,反之亦然時呼叫。

OnMultiWindowModeChanged(Boolean, Configuration)

當片段的活動從全螢幕模式變更為多視窗模式,反之亦然時呼叫。

OnOptionsItemSelected(IMenuItem)

每當選取選項功能表中的專案時,就會呼叫此勾點。

OnOptionsMenuClosed(IMenu)

每當使用者取消具有返回/功能表按鈕的功能表,或選取專案) 時,就會呼叫這個勾點 (。

OnPause()

當片段不再繼續時呼叫。

OnPictureInPictureModeChanged(Boolean)

當活動變更為圖片內模式時,由系統呼叫。

OnPictureInPictureModeChanged(Boolean, Configuration)

當活動變更為圖片內模式時,由系統呼叫。

OnPrepareOptionsMenu(IMenu)

準備要顯示的畫面標準選項功能表。

OnRequestPermissionsResult(Int32, String[], Permission[])

要求許可權的結果回呼。

OnResume()

當使用者看到片段並主動執行時呼叫。

OnSaveInstanceState(Bundle)

呼叫 以要求片段儲存其目前的動態狀態,以便稍後可以在進程的新實例中重新建構。

OnStart()

當使用者看到片段時呼叫。

OnStop()

當片段不再啟動時呼叫。

OnTrimMemory(TrimMemory)

當操作系統判斷進程從其進程修剪不需要的記憶體時,呼叫它。

OnViewCreated(View, Bundle)

在傳回之後 #onCreateView(LayoutInflater, ViewGroup, Bundle) 立即呼叫,但在還原至檢視的任何已儲存狀態之前。

OnViewStateRestored(Bundle)

當所有已儲存的狀態都還原到片段的檢視階層時呼叫。

PostponeEnterTransition()

延後進入片段轉換,直到 #startPostponedEnterTransition() 呼叫 或 FragmentManager#executePendingTransactions() 為止。

RegisterForContextMenu(View)

註冊要針對指定檢視顯示的快捷功能表, (多個檢視可以顯示操作功能表) 。

RequestPermissions(String[], Int32)

要求授與此應用程式的許可權。

SetEnterSharedElementCallback(SharedElementCallback)

當自定義轉換與片段搭配使用時,當未彈出回溯堆棧時,就會呼叫輸入轉換回呼。

SetExitSharedElementCallback(SharedElementCallback)

當自定義轉換與片段搭配使用時,會在卸除後端堆疊時呼叫結束轉換回呼。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetHasOptionsMenu(Boolean)

回報此片段想要透過接收 #onCreateOptionsMenu 呼叫和相關方法,參與填入選項功能表。

SetInitialSavedState(Fragment+SavedState)

設定第一次建構時,此片段應該從還原本身的初始儲存狀態,如 所 FragmentManager#saveFragmentInstanceState(Fragment) FragmentManager.saveFragmentInstanceState傳回。

SetMenuVisibility(Boolean)

設定是否應該顯示此片段功能表的提示。

SetTargetFragment(Fragment, Int32)

此片段的選擇性目標。

ShouldShowRequestPermissionRationale(String)

取得是否應該在要求許可權之前先以合理方式顯示 UI。

StartActivity(Intent)

從片段的包含活動呼叫 Activity#startActivity(Intent)

StartActivity(Intent, Bundle)

從片段的包含活動呼叫 Activity#startActivity(Intent, Bundle)

StartActivityForResult(Intent, Int32)

從片段的包含活動呼叫 Activity#startActivityForResult(Intent, int)

StartActivityForResult(Intent, Int32, Bundle)

從片段的包含活動呼叫 Activity#startActivityForResult(Intent, int, Bundle)

StartIntentSenderForResult(IntentSender, Int32, Intent, ActivityFlags, ActivityFlags, Int32, Bundle)

從片段的包含活動呼叫 Activity#startIntentSenderForResult(IntentSender, int, Intent, int, int, int, Bundle)

StartPostponedEnterTransition()

呼叫 之後 #postponeEnterTransition() 開始延後轉換。

ToArray<T>()

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterForContextMenu(View)

防止顯示指定檢視的操作功能表。

UnregisterFromRuntime()

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

(繼承來源 Object)
Wait()

讓目前的線程等到喚醒為止,通常是藉由 <em>notified</em> 或 <em>interrupted</em> 來喚醒。

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是<透過em>notified</em或em>interrupted</em>>,或<直到經過一定數量的實時為止。

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的線程等到喚醒為止,通常是<透過em>notified</em或em>interrupted</em>>,或<直到經過一定數量的實時為止。

(繼承來源 Object)

明確介面實作

IJavaPeerable.Disposed()

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

(繼承來源 Object)
IJavaPeerable.Finalized()

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

GetJniTypeName(IJavaPeerable)

片段是應用程式的使用者介面或行為片段,可以放在 中 Activity

適用於