LoaderManager.ILoaderCallbacks.OnLoadFinished(Loader, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вызывается, когда ранее созданный загрузчик завершил загрузку.
[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
Данные, созданные загрузчиком.
- Атрибуты
Комментарии
Вызывается, когда ранее созданный загрузчик завершил загрузку. Обратите внимание, что обычно приложение <>не< может> зафиксировать транзакции фрагментов во время этого вызова, так как оно может произойти после сохранения состояния действия. См FragmentManager#beginTransaction() FragmentManager.openTransaction()
. дополнительные сведения об этом.
Эта функция гарантированно вызывается до выпуска последних данных, предоставленных для этого загрузчика. На этом этапе необходимо удалить все использование старых данных (так как оно будет выпущено в ближайшее время), но не следует делать собственный выпуск данных, так как его загрузчик владеет им и будет заботиться об этом. Загрузчик будет заботиться об управлении своими данными, поэтому вам не нужно. В частности:
<ul><li>
Загрузчик будет отслеживать изменения данных и сообщать им о новых вызовах здесь. Вы не должны отслеживать данные самостоятельно. Например, если данные являются android.database.Cursor
и вы помещаете его в android.widget.CursorAdapter
объект, используйте android.widget.CursorAdapter#CursorAdapter(android.content.Context, android.database.Cursor, int)
конструктор <em>без</em> , передаваемого либо android.widget.CursorAdapter#FLAG_AUTO_REQUERY
( android.widget.CursorAdapter#FLAG_REGISTER_CONTENT_OBSERVER
то есть, используйте 0 для аргумента флагов). Это позволяет курсору выполнять собственное наблюдение за курсором, который не требуется, так как при изменении будет получен новый вызов Курсора. <li> Loader отпустит данные после того, как оно знает, что приложение больше не использует его. Например, если данные являются android.database.Cursor
данными из , android.content.CursorLoader
вы не должны вызывать close() на нем самостоятельно. Если курсор помещается в объект android.widget.CursorAdapter
, следует использовать android.widget.CursorAdapter#swapCursor(android.database.Cursor)
метод, чтобы старый курсор не закрывался. </ul>
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.