語言

DialogFragment 類別

定義

顯示對話框視窗的片段,其活動視窗頂端浮動。

[Android.Runtime.Register("android/app/DialogFragment", DoNotGenerateAcw=true)]
public class DialogFragment : Android.App.Fragment, Android.Content.IDialogInterfaceOnCancelListener, Android.Content.IDialogInterfaceOnDismissListener, IDisposable
[<Android.Runtime.Register("android/app/DialogFragment", DoNotGenerateAcw=true)>]
type DialogFragment = class
    inherit Fragment
    interface IDialogInterfaceOnCancelListener
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IDialogInterfaceOnDismissListener
繼承
DialogFragment
屬性
實作

備註

此類別在 API 等級 28 時被棄用。 使用支援函式庫對話片段,讓所有裝置的行為一致,並存取生命週期。

顯示對話框視窗的片段,其活動視窗頂端浮動。 此片段包含 Dialog 物件,其會根據片段的狀態適當顯示。 對話框的控制(決定何時要顯示、隱藏、關閉對話框)應該透過 API 完成,而不是透過對話框的直接呼叫來完成。 實作應覆蓋此類別,並實作 onCreateView(LayoutInflater, ViewGroup, Bundle) 以提供對話內容。 或者,他們也可以覆寫 onCreateDialog(Bundle),建立一個完全自訂的對話框,例如 AlertDialog,並擁有自己的內容。 此處涵蓋主題:生命週期基本對話框 警示對話框 選擇對話框與嵌入生命週期對話 Fragment 透過多種方式保持片段生命週期驅動,而非對話框本身。 請注意,對話通常是自發實體 -- 它們是自己的視窗、接收自己的輸入事件,而且通常會自行決定何時消失(藉由接收返回鍵事件或使用者按兩下按鈕)。 DialogFragment 需要確保片段和對話框狀態所發生的情況保持一致。 若要這樣做,它會監看對話框的關閉事件,並負責在發生時移除自己的狀態。 這表示你應該使用 show(FragmentManager,String) 或 show(FragmentTransaction,String) 來將 DialogFragment 的實例加入你的 UI 中,因為這些實例會記錄 DialogFragment 在對話框被關閉時如何移除。 基本對話 DialogFragment 最簡單的用途是作為片段視圖階層的浮動容器。 一個簡單的實作可以是這樣:Activity 上的 showDialog() 方法範例可以是:這會移除目前顯示的任何對話框,建立一個新的 DialogFragment 並帶有參數,並在後堆疊中顯示為新狀態。 當交易被彈出時,當前的對話片段及其對話會被銷毀,並重新顯示先前的對話片段(如有的話)。 請注意,在這種情況下,DialogFragment 會處理 Dialog 被 dismiss 的交易彈出。 警示對話框 你可以不(或加之)實作 Fragment.onCreateView(LayoutInflater, ViewGroup, Bundle)來產生對話框內的視圖階層,而是實作 onCreateDialog(Bundle) 來建立你自己的自訂對話框物件。 這對於建立 AlertDialog 最有用,讓你能向使用者顯示由分段管理的標準警報。 一個簡單的實作範例是:建立此片段的活動可能有以下方法來顯示對話並接收結果:請注意,此時片段並未被放入後堆疊,而是作為無限期執行的片段加入。 由於對話通常是模態式的,這仍會作為後堆運作,因為對話會捕捉使用者輸入直到被關閉。 當它被關閉時,DialogFragment 會自動從其片段管理器中移除。 在對話或嵌入對話之間選擇對話片段,若有需要,仍可選擇作為一般片段使用。 如果你有一個片段,有些情況下應該以對話框形式顯示,有些則嵌入在較大的介面中,這很有用。 這個行為通常會根據你如何使用片段自動選擇,但也可以用 setShowsDialog(boolean)來自訂。 例如,這裡有一個簡單的對話片段:可以建立並以對話框形式顯示這個片段的實例:也可以作為視圖階層中的內容加入:

Android 參考資料。android.app.DialogFragment

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

名稱 Description
DialogFragment()
DialogFragment(IntPtr, JniHandleOwnership)

初始化現有 Java 原生介面物件的受管理表示。

屬性

名稱 Description
Activity

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

(繼承來源 Fragment)
AllowEnterTransitionOverlap

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

(繼承來源 Fragment)
AllowReturnTransitionOverlap

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

(繼承來源 Fragment)
Arguments

將提供 #setArguments給 的論證歸還給 (如果有的話)。 -或者- 提供這個片段的建構論據。

(繼承來源 Fragment)
Cancelable

傳回的目前值 #setCancelable(boolean)。 -或- 控制顯示的對話框是否可取消。

ChildFragmentManager

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

(繼承來源 Fragment)
Class

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

(繼承來源 Object)
Context

回歸 Context 這個片段目前所關聯的部分。

(繼承來源 Fragment)
Dialog
EnterTransition

傳回轉換,用來將檢視移至初始場景。 -或- 設定將用於將視圖移動到初始場景的過渡。

(繼承來源 Fragment)
ExitTransition

會傳回轉換,當片段移除、隱藏或中斷連結時,將檢視移出場景。 -或- 設定轉換,當片段被移除、隱藏或分離時,將視圖移出場景,且不彈出後堆疊。

(繼承來源 Fragment)
FragmentManager

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

(繼承來源 Fragment)
Handle

基礎Android實例的句柄。

(繼承來源 Object)
Host

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

(繼承來源 Fragment)
Id

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

(繼承來源 Fragment)
IsAdded

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

(繼承來源 Fragment)
IsDetached

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

(繼承來源 Fragment)
IsHidden

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

(繼承來源 Fragment)
IsInLayout

如果該版面作為活動檢視階層的一部分,透過 <片段>捉人。

(繼承來源 Fragment)
IsRemoving

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

(繼承來源 Fragment)
IsResumed

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

(繼承來源 Fragment)
IsStateSaved

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

(繼承來源 Fragment)
IsVisible

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

(繼承來源 Fragment)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

顯示對話框視窗的片段,其活動視窗頂端浮動。

(繼承來源 JavaObject)
JniPeerMembers

提供 Android.App.DialogFragment 的 JNI 綁定基礎架構。

LayoutInflater

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

(繼承來源 Fragment)
LoaderManager

回傳此片段的 LoaderManager,必要時建立它。

(繼承來源 Fragment)
ParentFragment

傳回包含此片段的父片段。

(繼承來源 Fragment)
PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
ReenterTransition

會傳回轉換,當傳回時,會因為快顯返回堆疊而用來將檢視移至場景。 -或- 設定轉換,將用於在回傳時將視圖移入場景,因為彈出後堆疊。

(繼承來源 Fragment)
Resources

返回 getActivity().getResources()。

(繼承來源 Fragment)
RetainInstance

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

(繼承來源 Fragment)
ReturnTransition

傳回轉換,當片段正準備移除、隱藏或中斷連結時,轉換將用來將檢視移出場景,因為快顯返回堆疊。 -或- 設定轉換,當碎片準備被移除、隱藏或因後堆疊彈出而分離時,將視圖移出場景。

(繼承來源 Fragment)
SharedElementEnterTransition

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

(繼承來源 Fragment)
SharedElementReturnTransition

傳回轉換,此轉換將用於在返回堆疊快顯期間傳回的共享元素。 -或- 設定在後方堆疊彈出時,將用於傳回共享元素的轉換。

(繼承來源 Fragment)
ShowsDialog

傳回的目前值 #setShowsDialog(boolean)。 -或- 控制此片段是否應該顯示在對話框中。

Tag

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

(繼承來源 Fragment)
TargetFragment

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

(繼承來源 Fragment)
TargetRequestCode

回傳由 設定的 #setTargetFragment目標請求碼。

(繼承來源 Fragment)
Theme
ThresholdClass

提供 Android.App.DialogFragment 的 JNI 綁定基礎架構。

ThresholdType

提供 Android.App.DialogFragment 的 JNI 綁定基礎架構。

UserVisibleHint

向系統設定提示,告訴使用者是否可以看到這個片段的使用者介面。

(繼承來源 Fragment)
View

如果有提供,請取得片段配置的根視圖(由 #onCreateView回傳的那個)。

(繼承來源 Fragment)

方法

名稱 Description
Clone()

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

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

顯示對話框視窗的片段,其活動視窗頂端浮動。

(繼承來源 JavaObject)
Dismiss()

關閉片段及其對話框。

DismissAllowingStateLoss()

該版本 #dismiss() 使用 FragmentTransaction#commitAllowingStateLoss() FragmentTransaction.commitAllowingStateLoss()。

Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

顯示對話框視窗的片段,其活動視窗頂端浮動。

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

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

(繼承來源 Fragment)
Equals(Object)

顯示對話框視窗的片段,其活動視窗頂端浮動。

(繼承來源 JavaObject)
Equals(Object)
已淘汰.

子類別無法覆寫 equals()。

(繼承來源 Fragment)
GetHashCode()
已淘汰.

子類別無法覆寫hashCode()。

(繼承來源 Fragment)
GetString(Int32, Object[])

從應用程式套件的預設字串表回傳一個本地化格式化的字串,並以 Formatter 和 String.format(String, Object) 中定義的格式參數替換。

(繼承來源 Fragment)
GetString(Int32)

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

(繼承來源 Fragment)
GetText(Int32)

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

(繼承來源 Fragment)
GetTextFormatted(Int32)

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

(繼承來源 Fragment)
JavaFinalize()
已淘汰.

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
Notify()

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

(繼承來源 Object)
NotifyAll()

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

(繼承來源 Object)
OnActivityCreated(Bundle)

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

(繼承來源 Fragment)
OnActivityResult(Int32, Result, Intent)

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

(繼承來源 Fragment)
OnAttach(Activity)
已淘汰.

此方法在 API 等級 23 中被棄用。

(繼承來源 Fragment)
OnAttach(Context)

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

(繼承來源 Fragment)
OnAttachFragment(Fragment)

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

(繼承來源 Fragment)
OnCancel(IDialogInterface)

取消對話框時,將會叫用這個方法。

OnConfigurationChanged(Configuration)

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

(繼承來源 Fragment)
OnContextItemSelected(IMenuItem)

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

(繼承來源 Fragment)
OnCreate(Bundle)

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

(繼承來源 Fragment)
OnCreateAnimator(FragmentTransit, Boolean, Int32)

當片段載入動畫時呼叫。

(繼承來源 Fragment)
OnCreateContextMenu(IContextMenu, View, IContextMenuContextMenuInfo)

當視圖的右鍵選單即將顯示時會被呼叫。

(繼承來源 Fragment)
OnCreateDialog(Bundle)

覆寫以建置您自己的自定義對話框容器。

OnCreateOptionsMenu(IMenu, MenuInflater)

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

(繼承來源 Fragment)
OnCreateView(LayoutInflater, ViewGroup, Bundle)

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

(繼承來源 Fragment)
OnDestroy()

當片段不再使用時呼叫。

(繼承來源 Fragment)
OnDestroyOptionsMenu()

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

(繼承來源 Fragment)
OnDestroyView()

當先前由 所 #onCreateView 創造的視角已從碎片中分離時,稱為此。

(繼承來源 Fragment)
OnDetach()

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

(繼承來源 Fragment)
OnDismiss(IDialogInterface)

關閉對話框時,將會叫用這個方法。

OnGetLayoutInflater(Bundle)

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

(繼承來源 Fragment)
OnHiddenChanged(Boolean)

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

(繼承來源 Fragment)
OnInflate(Activity, IAttributeSet, Bundle)
已淘汰.

此方法在 API 等級 23 中被棄用。

(繼承來源 Fragment)
OnInflate(Context, IAttributeSet, Bundle)

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

(繼承來源 Fragment)
OnInflate(IAttributeSet, Bundle)
已淘汰.

此方法在 API 等級 15 中被棄用。

(繼承來源 Fragment)
OnLowMemory()

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

(繼承來源 Fragment)
OnMultiWindowModeChanged(Boolean, Configuration)

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

(繼承來源 Fragment)
OnMultiWindowModeChanged(Boolean)

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

(繼承來源 Fragment)
OnOptionsItemSelected(IMenuItem)

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

(繼承來源 Fragment)
OnOptionsMenuClosed(IMenu)

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

(繼承來源 Fragment)
OnPause()

當片段不再繼續時呼叫。

(繼承來源 Fragment)
OnPictureInPictureModeChanged(Boolean, Configuration)

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

(繼承來源 Fragment)
OnPictureInPictureModeChanged(Boolean)

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

(繼承來源 Fragment)
OnPrepareOptionsMenu(IMenu)

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

(繼承來源 Fragment)
OnRequestPermissionsResult(Int32, String[], Permission[])

要求許可權的結果回呼。

(繼承來源 Fragment)
OnResume()

當使用者看到片段且正在執行時呼叫。

(繼承來源 Fragment)
OnSaveInstanceState(Bundle)

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

(繼承來源 Fragment)
OnStart()

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

(繼承來源 Fragment)
OnStop()

當片段不再啟動時呼叫。

(繼承來源 Fragment)
OnTrimMemory(TrimMemory)

當作業系統判斷行程從其行程修剪不需要的記憶體時,就會呼叫 。

(繼承來源 Fragment)
OnViewCreated(View, Bundle)

在 Calling 立即回來後 #onCreateView(LayoutInflater, ViewGroup, Bundle) ,但尚未恢復任何儲存狀態進入檢視。

(繼承來源 Fragment)
OnViewStateRestored(Bundle)

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

(繼承來源 Fragment)
PostponeEnterTransition()

延後進入碎片的轉換,直到#startPostponedEnterTransition()FragmentManager#executePendingTransactions()或已被召喚。

(繼承來源 Fragment)
RegisterForContextMenu(View)

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

(繼承來源 Fragment)
RequestPermissions(String[], Int32)

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

(繼承來源 Fragment)
SetEnterSharedElementCallback(SharedElementCallback)

當自定義轉換與片段搭配使用時,當未快顯返回堆疊時,就會呼叫輸入轉換回呼。

(繼承來源 Fragment)
SetExitSharedElementCallback(SharedElementCallback)

當自定義轉換與片段搭配使用時,會在快顯返回堆疊時附加或中斷連結此片段時呼叫結束轉換回呼。

(繼承來源 Fragment)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetHasOptionsMenu(Boolean)

回報此片段希望透過接收 及 #onCreateOptionsMenu 相關方法來參與填充選項選單。

(繼承來源 Fragment)
SetInitialSavedState(Fragment+SavedState)

設定初始儲存狀態,讓該碎片從建構時應自行恢復,該狀態由 FragmentManager.saveFragmentInstanceState 回傳。

(繼承來源 Fragment)
SetMenuVisibility(Boolean)

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

(繼承來源 Fragment)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

顯示對話框視窗的片段,其活動視窗頂端浮動。

(繼承來源 JavaObject)
SetStyle(DialogFragmentStyle, Int32)

呼叫 以自定義片段對話框的基本外觀和行為。

SetTargetFragment(Fragment, Int32)

此片段的選擇性目標。

(繼承來源 Fragment)
ShouldShowRequestPermissionRationale(String)

取得在要求許可權之前,是否應該以理由顯示UI。

(繼承來源 Fragment)
Show(FragmentManager, String)

顯示對話框,將片段新增至指定的 FragmentManager。

Show(FragmentTransaction, String)

顯示對話框,使用現有的交易新增片段,然後認可交易。

StartActivity(Intent, Bundle)

來自 Activity#startActivity(Intent, Bundle) 包含活動的碎片呼叫。

(繼承來源 Fragment)
StartActivity(Intent)

來自 Activity#startActivity(Intent) 包含活動的碎片呼叫。

(繼承來源 Fragment)
StartActivityForResult(Intent, Int32, Bundle)

來自 Activity#startActivityForResult(Intent, int, Bundle) 包含活動的碎片呼叫。

(繼承來源 Fragment)
StartActivityForResult(Intent, Int32)

來自 Activity#startActivityForResult(Intent, int) 包含活動的碎片呼叫。

(繼承來源 Fragment)
StartIntentSenderForResult(IntentSender, Int32, Intent, ActivityFlags, ActivityFlags, Int32, Bundle)

來自 Activity#startIntentSenderForResult(IntentSender, int, Intent, int, int, int, Bundle) 包含活動的碎片呼叫。

(繼承來源 Fragment)
StartPostponedEnterTransition()

接到通知後 #postponeEnterTransition() 開始延期的交接。

(繼承來源 Fragment)
ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterForContextMenu(View)

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

(繼承來源 Fragment)
UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

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

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

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

(繼承來源 Object)
Wait(Int64)

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

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

顯示對話框視窗的片段,其活動視窗頂端浮動。

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

顯示對話框視窗的片段,其活動視窗頂端浮動。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

顯示對話框視窗的片段,其活動視窗頂端浮動。

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

顯示對話框視窗的片段,其活動視窗頂端浮動。

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

顯示對話框視窗的片段,其活動視窗頂端浮動。

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

顯示對話框視窗的片段,其活動視窗頂端浮動。

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

顯示對話框視窗的片段,其活動視窗頂端浮動。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

顯示對話框視窗的片段,其活動視窗頂端浮動。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於