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

ローダーによって生成されたデータ。

属性

注釈

以前に作成されたローダーの読み込みが完了したときに呼び出されます。 通常、アプリケーションは<em></em>アクティビティの状態が保存された後に発生する可能性があるため、この呼び出し中にフラグメント トランザクションをコミットできます。 詳細については、 FragmentManager#beginTransaction() FragmentManager.openTransaction() を参照してください。

この関数は、このローダーに提供された最後のデータのリリース前に呼び出されることを保証します。 この時点で、古いデータの使用をすべて削除する必要がありますが(間もなくリリースされるため)、ローダーがデータを所有し、その処理を行うので、データの独自のリリースを行わないでください。 ローダーはデータの管理を行います。そうする必要はありません。 具体的には次のとおりです。

<ul><li>

ローダーは、データの変更を監視し、ここで新しい呼び出しを通じてユーザーに報告します。 データは自分で監視しないでください。 たとえば、データが android.database.Cursor で、 android.widget.CursorAdapterに配置する場合は、 android.widget.CursorAdapter#CursorAdapter(android.content.Context, android.database.Cursor, int) コンストラクター <em>without</em> を使用して、 android.widget.CursorAdapter#FLAG_AUTO_REQUERY または android.widget.CursorAdapter#FLAG_REGISTER_CONTENT_OBSERVER を渡します (つまり、flags 引数には 0 を使用します)。 これにより、CursorAdapter が Cursor の独自の監視を行うのを防ぐことができます。これは、変更が発生したときに新しい Cursor がここで別の呼び出しをスローするため、必要ありません。 <li> アプリケーションがデータを使用しなくなったことを確認すると、ローダーはデータを解放します。 たとえば、データがandroid.content.CursorLoaderからのandroid.database.Cursorである場合は、自分で close() を呼び出さないでください。 カーソルが android.widget.CursorAdapterに配置されている場合は、古いカーソルが閉じないように、 android.widget.CursorAdapter#swapCursor(android.database.Cursor) メソッドを使用する必要があります。 </ul>

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象