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() 此内容。

在发布为此加载程序提供的最后一个数据之前,可以保证调用此函数。 此时,应删除旧数据的所有使用(因为它即将发布),但不应自行释放数据,因为它的 Loader 拥有它,并会处理这些数据。 加载程序将负责管理其数据,因此无需这样做。 具体而言:

<ul><li>

加载程序将监视数据的更改,并通过此处的新调用将其报告给你。 不应自行监视数据。 例如,如果数据是一个android.database.Cursor并且你将其放入其中android.widget.CursorAdapter,则使用android.widget.CursorAdapter#CursorAdapter(android.content.Context, android.database.Cursor, int)构造函数 <em>而不<>传入或android.widget.CursorAdapter#FLAG_AUTO_REQUERYandroid.widget.CursorAdapter#FLAG_REGISTER_CONTENT_OBSERVER (也就是说,使用 0 作为标志参数)。 这可以防止 CursorAdapter 自行观察 Cursor,这不需要这样做,因为发生更改时,你将在此处引发新的 Cursor 引发另一个调用。 <li> 加载程序会在知道应用程序不再使用它后释放数据。 例如,如果数据来自 a android.database.Cursorandroid.content.CursorLoader,则不应自行调用 close()。 如果游标位于某个 android.widget.CursorAdapter位置,则应使用 android.widget.CursorAdapter#swapCursor(android.database.Cursor) 该方法,以便旧游标未关闭。 </ul>

适用于 . 的 android.app.LoaderManager.LoaderCallbacks.onLoadFinished(android.content.Loader<D>, D)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于