からの読み込みonLoadFinished
は問題なく動作します。私が持っていたペットプロジェクトで似たようなことをしました。自分の ContentProvider からデータをロードし、そこから電話の Contact ContentProvider から連絡先データをロードしました。私のデータベースの各エントリは複数の連絡先を参照する可能性があるため、どの連絡先情報をロードするかを知る前にアイテムをロードする必要がありました。最初にアイテム データを受け取ったときに、init/restart LoaderManager 呼び出しをチェーンしました。onLoadFinished
. それは問題なく動作し、後で連絡先データをリストとして使用しました。確かに、既存のリスト ビュー アイテム内のビューにデータを読み込むためにこのアプローチを使用しませんでした。アイテムの詳細ビューで独自のリスト内のデータを使用しました。やりたいことは引き続き機能するはずですが、特にビューの「ライフサイクル」が制御できないため、ビューなどにデータを追加するのが面倒になる可能性があります。
より良いアプローチ、IMO は、ビューが作成されているときに、AsyncTask または AsyncQueryHandler を使用して余分なデータをフェッチするカスタム CursorAdapter をコーディングすることです。リストがスクロールするときに後で使用できるように、必ずデータをキャッシュしてください。この 2 番目のアプローチには、外部/セカンダリ ローダーから独立しているという利点があります。欠落している部分のロードを含む、必要なデータを表示するために必要なすべてのロジックをカプセル化します。これにより、ビュー データと表示ロジックがまとまり、再利用可能なモジュール内に安全に収納されます。