ListFragment 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個片段,透過綁定到資料來源(如陣列或游標)來顯示項目清單,並在使用者選擇項目時暴露事件處理器。
[Android.Runtime.Register("android/app/ListFragment", DoNotGenerateAcw=true)]
public class ListFragment : Android.App.Fragment
[<Android.Runtime.Register("android/app/ListFragment", DoNotGenerateAcw=true)>]
type ListFragment = class
inherit Fragment
- 繼承
- 屬性
備註
此類別在 API 等級 28 時被棄用。 使用支援函式庫 ListFragment 以在所有裝置間保持一致行為並存取生命週期。
一個片段,透過綁定到資料來源(如陣列或游標)來顯示項目清單,並在使用者選擇項目時暴露事件處理器。 ListFragment 托管一個可綁定至不同資料來源的 ListView 物件,通常是陣列或存放查詢結果的游標。 以下章節將討論綁定、螢幕佈局與列排。 螢幕佈局
ListFragment 預設的配置是單一的清單檢視。 不過,如果你願意,可以透過 onCreateView(LayoutInflater, ViewGroup, Bundle)中回傳自己的視圖階層來自訂片段配置。 為此,你的檢視階層必須包含一個 ListView 物件,其 ID 為「:id/list」(若程式碼中為 R.id.list),也可以選擇性地包含任意類型的檢視物件,當清單檢視為空時顯示。 這個「空清單」通知必須有 ID 「android:empty」。 請注意,當存在空白檢視時,當沒有資料可顯示時,清單檢視會被隱藏。 以下程式碼示範了一個(醜陋的)自訂清單配置。 它有一個綠色背景的清單,以及一個紅色的「無資料」訊息。
排位配置
你可以指定清單中各個列的配置。 你可以在由片段所託管的 ListAdapter 物件中指定一個版面資源來實現(ListAdapter 會將 ListView 綁定到資料上;稍後會詳細說明)。 ListAdapter 建構器會取一個參數,指定每一列的版面資源。 它還有兩個額外參數,讓你指定要將哪個資料欄位關聯到列配置資源中的哪個物件。 這兩個參數通常是平行陣列。
Android 提供一些標準的列式配置資源。 這些屬於 R.layout 類別,名稱有 simple_list_item_1、simple_list_item_2 和 two_line_list_item。 以下版面 XML 是資源 two_line_list_item 的來源,該欄位為每個清單列顯示兩個資料欄位,上下相疊。
你必須識別綁定到此版面中每個 TextView 物件的資料。 其語法將在下一節討論。
資料綁定
你可以使用實作 ListAdapter 介面的類別,將 ListFragment 的 ListView 物件綁定到資料上。 Android 提供兩個標準清單介面卡:SimpleAdapter 用於靜態資料(地圖),以及 SimpleCursorAdapter 用於游標查詢結果。
你必須使用 ListFragment.setListAdapter() 來將清單與介面卡關聯。 請勿直接呼叫 ListView.setAdapter(),否則重要的初始化將被跳過。
Android 參考資料。android.app.ListFragment
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| ListFragment() | |
| ListFragment(IntPtr, JniHandleOwnership) |
初始化現有 Java 原生介面物件的受管理表示。 |
屬性
| 名稱 | Description |
|---|---|
| Activity |
回歸該片段目前所關聯的活動。 (繼承來源 Fragment) |
| AllowEnterTransitionOverlap |
無論退出轉換與進入轉換是否重疊,都會回傳。 -或- 設定出口轉換與進入轉換是否重疊。 (繼承來源 Fragment) |
| AllowReturnTransitionOverlap |
無論返回轉換與再入轉換是否重疊,都會回傳。 -或- 設定返回轉換與再入轉換是否重疊。 (繼承來源 Fragment) |
| Arguments |
將提供 |
| ChildFragmentManager |
回傳一個私有的 FragmentManager,用於將碎片置入並管理該碎片。 (繼承來源 Fragment) |
| Class |
回傳此 |
| Context |
回歸 |
| 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 |
若片段處於恢復狀態,則回傳真。 (繼承來源 Fragment) |
| IsStateSaved |
如果加入此片段且其狀態已被主機保存,則回傳為真。 (繼承來源 Fragment) |
| IsVisible |
如果該片段目前對使用者可見,則回傳 true。 (繼承來源 Fragment) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
一個片段,透過綁定到資料來源(如陣列或游標)來顯示項目清單,並在使用者選擇項目時暴露事件處理器。 (繼承來源 JavaObject) |
| JniPeerMembers |
提供 Android.App.ListFragment 的 JNI 綁定基礎架構。 |
| LayoutInflater |
回傳用於膨脹此片段視圖的快取 LayoutInflater。 (繼承來源 Fragment) |
| ListAdapter |
取得與此片段 ListView 相關聯的 ListAdapter。 -或者- 提供列表視圖的游標。 |
| ListView |
取得片段的清單檢視小工具。 |
| LoaderManager |
回傳此片段的 LoaderManager,必要時建立它。 (繼承來源 Fragment) |
| ParentFragment |
回傳包含該片段的父片段。 (繼承來源 Fragment) |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ReenterTransition |
回傳將用於在回放時將視圖移入場景的轉換,因為會彈出後方堆疊。 -或- 設定轉換,將用於在回傳時將視圖移入場景,因為彈出後堆疊。 (繼承來源 Fragment) |
| Resources |
返回 |
| RetainInstance |
控制片段實例是否在活動重建過程中(例如設定變更後)被保留。 (繼承來源 Fragment) |
| ReturnTransition |
回傳將用於在碎片準備被移除、隱藏或因後堆疊而分離時,將視圖移出場景的轉換。 -或- 設定轉換,當碎片準備被移除、隱藏或因後堆疊彈出而分離時,將視圖移出場景。 (繼承來源 Fragment) |
| SelectedItemId |
取得目前選取清單項目的游標列 ID。 |
| SelectedItemPosition |
取得目前選中的清單項目的位置。 |
| SharedElementEnterTransition |
回傳用於轉移到內容場景的共享元素的轉換。 -或- 設定將用於傳輸到內容場景的共享元素的轉換。 (繼承來源 Fragment) |
| SharedElementReturnTransition |
回傳將用於後堆疊彈出時傳回的共享元素的轉換。 -或- 設定在後方堆疊彈出時,將用於傳回共享元素的轉換。 (繼承來源 Fragment) |
| Tag |
如果有指定,請取得碎片的標籤名稱。 (繼承來源 Fragment) |
| TargetFragment |
回傳由 設定的 |
| TargetRequestCode |
回傳由 設定的 |
| ThresholdClass |
提供 Android.App.ListFragment 的 JNI 綁定基礎架構。 |
| ThresholdType |
提供 Android.App.ListFragment 的 JNI 綁定基礎架構。 |
| UserVisibleHint |
向系統設定提示,告訴使用者是否可以看到這個片段的使用者介面。 (繼承來源 Fragment) |
| View |
如果有提供,請取得片段配置的根視圖(由 |
方法
| 名稱 | Description |
|---|---|
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
一個片段,透過綁定到資料來源(如陣列或游標)來顯示項目清單,並在使用者選擇項目時暴露事件處理器。 (繼承來源 JavaObject) |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
一個片段,透過綁定到資料來源(如陣列或游標)來顯示項目清單,並在使用者選擇項目時暴露事件處理器。 (繼承來源 JavaObject) |
| Dump(String, FileDescriptor, PrintWriter, String[]) |
將碎片的狀態印入給定的串流中。 (繼承來源 Fragment) |
| Equals(Object) |
一個片段,透過綁定到資料來源(如陣列或游標)來顯示項目清單,並在使用者選擇項目時暴露事件處理器。 (繼承來源 JavaObject) |
| Equals(Object) |
已淘汰.
子類別無法覆蓋等值()。 (繼承來源 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) |
接收先前呼叫的 |
| OnAttach(Activity) |
已淘汰.
此方法在 API 等級 23 中被棄用。 (繼承來源 Fragment) |
| OnAttach(Context) |
當一個片段首次連接到其上下文時,會被呼叫。 (繼承來源 Fragment) |
| OnAttachFragment(Fragment) |
當碎片被附加為該碎片的子節點時,該名稱被召喚。 (繼承來源 Fragment) |
| OnConfigurationChanged(Configuration) |
當裝置設定變更時,系統會呼叫它,而你的元件正在運行。 (繼承來源 Fragment) |
| OnContextItemSelected(IMenuItem) |
每當選擇右鍵選單中的項目時,就會呼叫這個鉤子。 (繼承來源 Fragment) |
| OnCreate(Bundle) |
被召喚去做碎片的初始創建。 (繼承來源 Fragment) |
| OnCreateAnimator(FragmentTransit, Boolean, Int32) |
當片段載入動畫時會被呼叫。 (繼承來源 Fragment) |
| OnCreateContextMenu(IContextMenu, View, IContextMenuContextMenuInfo) |
當視圖的右鍵選單即將顯示時會被呼叫。 (繼承來源 Fragment) |
| OnCreateOptionsMenu(IMenu, MenuInflater) |
初始化活動標準選項選單的內容。 (繼承來源 Fragment) |
| OnCreateView(LayoutInflater, ViewGroup, Bundle) |
被呼叫讓 fragment 實例化其使用者介面視圖。 (繼承來源 Fragment) |
| OnDestroy() |
當該碎片不再使用時會被呼叫。 (繼承來源 Fragment) |
| OnDestroyOptionsMenu() |
當該片段的選項選單項目不再包含在整體選項選單中時,會呼叫此訊息。 (繼承來源 Fragment) |
| OnDestroyView() |
當先前由 所 |
| OnDetach() |
當碎片不再與其活動相連時,會被召喚。 (繼承來源 Fragment) |
| OnGetLayoutInflater(Bundle) |
回傳用於膨脹此片段視圖的 LayoutInflater。 (繼承來源 Fragment) |
| OnHiddenChanged(Boolean) |
當隱藏狀態(片段回傳的 ) |
| OnInflate(Activity, IAttributeSet, Bundle) |
已淘汰.
此方法在 API 等級 23 中被棄用。 (繼承來源 Fragment) |
| OnInflate(Context, IAttributeSet, Bundle) |
當片段作為檢視版面膨脹的一部分被建立時,通常是透過設定活動的內容檢視而呼叫。 (繼承來源 Fragment) |
| OnInflate(IAttributeSet, Bundle) |
已淘汰.
此方法在 API 等級 15 中被棄用。 (繼承來源 Fragment) |
| OnListItemClick(ListView, View, Int32, Int64) |
當列表中的項目被選取時,會呼叫此方法。 |
| 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 對使用者可見時,會被呼叫。 (繼承來源 Fragment) |
| OnStop() |
當碎片不再啟動時呼叫。 (繼承來源 Fragment) |
| OnTrimMemory(TrimMemory) |
當作業系統判斷程序是刪除其程序中不需要記憶體的好時機時,會被呼叫。 (繼承來源 Fragment) |
| OnViewCreated(View, Bundle) |
在 Calling 立即回來後 |
| OnViewStateRestored(Bundle) |
當所有儲存狀態都已恢復到片段的視圖階層時,才會被呼叫。 (繼承來源 Fragment) |
| PostponeEnterTransition() |
延後進入碎片的轉換,直到 |
| RegisterForContextMenu(View) |
註冊一個右鍵選單,顯示給定視圖(多個視圖可顯示該右鍵選單)。 (繼承來源 Fragment) |
| RequestPermissions(String[], Int32) |
請求授權給此應用程式。 (繼承來源 Fragment) |
| SetEmptyText(ICharSequence) |
ListFragment 的預設內容會有一個 TextView,當清單為空時可以顯示。 |
| SetEmptyText(String) |
ListFragment 的預設內容會有一個 TextView,當清單為空時可以顯示。 |
| SetEnterSharedElementCallback(SharedElementCallback) |
當使用自訂轉換時,當該片段連接或分離且未彈出後堆疊時,會呼叫 Enter 轉換回撥。 (繼承來源 Fragment) |
| SetExitSharedElementCallback(SharedElementCallback) |
當使用自訂轉換時,當該片段在彈出後堆疊時被連接或分離時,會呼叫退出轉換回撥。 (繼承來源 Fragment) |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetHasOptionsMenu(Boolean) |
回報此片段希望透過接收 及 |
| SetInitialSavedState(Fragment+SavedState) |
設定初始儲存狀態,讓該碎片從建構時應自行恢復,該狀態由 FragmentManager.saveFragmentInstanceState 回傳。 (繼承來源 Fragment) |
| SetListShown(Boolean) |
控制清單是否會顯示。 |
| SetListShownNoAnimation(Boolean) |
像 |
| SetMenuVisibility(Boolean) |
設定提示,判斷該片段選單是否應該顯示。 (繼承來源 Fragment) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
一個片段,透過綁定到資料來源(如陣列或游標)來顯示項目清單,並在使用者選擇項目時暴露事件處理器。 (繼承來源 JavaObject) |
| SetSelection(Int32) |
將目前選取的清單項目與適配器資料設定到指定位置 |
| SetTargetFragment(Fragment, Int32) |
此片段的可選目標。 (繼承來源 Fragment) |
| ShouldShowRequestPermissionRationale(String) |
判斷你是否應該在申請許可前先展示 UI。 (繼承來源 Fragment) |
| StartActivity(Intent, Bundle) |
來自 |
| StartActivity(Intent) |
來自 |
| StartActivityForResult(Intent, Int32, Bundle) |
來自 |
| StartActivityForResult(Intent, Int32) |
來自 |
| StartIntentSenderForResult(IntentSender, Int32, Intent, ActivityFlags, ActivityFlags, Int32, Bundle) |
來自 |
| StartPostponedEnterTransition() |
接到通知後 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterForContextMenu(View) |
阻止顯示該視圖的右鍵選單。 (繼承來源 Fragment) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</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() |
一個片段,透過綁定到資料來源(如陣列或游標)來顯示項目清單,並在使用者選擇項目時暴露事件處理器。 (繼承來源 Fragment) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
一個片段,透過綁定到資料來源(如陣列或游標)來顯示項目清單,並在使用者選擇項目時暴露事件處理器。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |