AsyncTaskLoader の使い方 (4/8) 〜 よくある間違いと回避法

AsyncTaskLoader___Android_Developers

AsyncTaskLoader | Android Developers


目次

1. Thread と AsyncTask
2. AsyncTaskLoader の利点
3. LoaderManager の利用
4. よくある間違いと回避法
5. 基本的な Loader の実装
6. いろいろな Loader の使用例
7. データベースと CursorLoader
8. Loader の弱点を克服する


4. よくある間違いと回避法

1. 意味のないローダーIDを作成する

Loader を初期化/再起動するときに、ローダーIDをインクリメントしたり、ランダムに作成する。

Loaderの再利用の妨げとなり、混乱にしかならないので、Loaderの種類ごとに、単一一意のIDを使用する。

2. アプリ内のすべてのローダーに対してのIDを定数で作成する。

各LoaderManagerは 独立しているので、Activity や Fragment内でローダーの種類ごとに privateな定数を作成する。

3. FragmentManager Exceptions を回避する

LoaderCallbacks で直接 FragmentTransaction を作成することはできません。
DialogFragment と利用する場合などがこれに含まれます。

解決策:FragmentTransaction をディスパッチするハンドラを作成する。

(→「5.基本的なLoaderの実装」につづく)


関連ワード:  Android今さら聞けない便利な設定開発