LoaderManager.ILoaderCallbacks.OnLoadFinished(Loader, Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當先前建立的裝載器完成載入時,會被呼叫。
[Android.Runtime.Register("onLoadFinished", "(Landroid/content/Loader;Ljava/lang/Object;)V", "GetOnLoadFinished_Landroid_content_Loader_Ljava_lang_Object_Handler:Android.App.LoaderManager/ILoaderCallbacksInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public void OnLoadFinished(Android.Content.Loader? loader, Java.Lang.Object? data);
[<Android.Runtime.Register("onLoadFinished", "(Landroid/content/Loader;Ljava/lang/Object;)V", "GetOnLoadFinished_Landroid_content_Loader_Ljava_lang_Object_Handler:Android.App.LoaderManager/ILoaderCallbacksInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member OnLoadFinished : Android.Content.Loader * Java.Lang.Object -> unit
參數
- loader
- Loader
完成的裝載手。
- data
- Object
載入器產生的資料。
- 屬性
備註
當先前建立的裝載器完成載入時,會被呼叫。 請注意,通常應用程式在此 <呼叫中 em>not</em> 允許提交片段交易,因為這可能發生在活動狀態被儲存後。 關於此事的進一步討論,請參見 FragmentManager#beginTransaction() FragmentManager.openTransaction() 。
此函式保證在最後一次為載入器提供資料釋出前被呼叫。 此時你應該移除所有舊資料的使用(因為資料很快就會釋出),但不應該自行釋出資料,因為載入器擁有這些資料並會處理。 Loader 會處理資料管理,所以你就不用自己動手了。 特別是:
<烏爾><·李>
Loader 會監控資料變更,並透過新電話回報給你。 你不應該自己監控這些資料。 例如,如果資料是 a android.database.Cursor ,你把它放在 android.widget.CursorAdapter,請使用 android.widget.CursorAdapter#CursorAdapter(android.content.Context, android.database.Cursor, int) 構造子 <em>without out</em> 傳遞其中一 android.widget.CursorAdapter#FLAG_AUTO_REQUERY or android.widget.CursorAdapter#FLAG_REGISTER_CONTENT_OBSERVER (也就是說,標記參數用 0)。 這會阻止游標適配器自行觀察游標,因為當變更發生時,你會收到新的游標並拋出另一個呼叫。
<li> 載入器會在知道應用程式不再使用資料後釋放資料。 例如,如果資料來自 android.database.Cursorandroid.content.CursorLoader,你不應該自己呼叫 close() 如果游標被放置在 android.widget.CursorAdapter,你應該使用 android.widget.CursorAdapter#swapCursor(android.database.Cursor) 該方法,避免舊游標關閉。
</ul>
Java 文件 android.app.LoaderManager.LoaderCallbacks.onLoadFinished(android.content.Loader<D>, D)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。