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
加载程序生成的数据。
- 属性
注解
在以前创建的加载程序完成加载时调用。 请注意,应用程序通常<>不允许<>在此调用中提交片段事务,因为它可以在保存活动状态后发生。 有关此内容的详细信息,请参阅 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_REQUERY
android.widget.CursorAdapter#FLAG_REGISTER_CONTENT_OBSERVER
(也就是说,使用 0 作为标志参数)。 这可以防止 CursorAdapter 自行观察 Cursor,这不需要这样做,因为发生更改时,你将在此处引发新的 Cursor 引发另一个调用。 <li> 加载程序会在知道应用程序不再使用它后释放数据。 例如,如果数据来自 a android.database.Cursor
android.content.CursorLoader
,则不应自行调用 close()。 如果游标位于某个 android.widget.CursorAdapter
位置,则应使用 android.widget.CursorAdapter#swapCursor(android.database.Cursor)
该方法,以便旧游标未关闭。 </ul>
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。