0

私は ListView を構築しています。ListView の各項目には、いくつかの異なるカーソルからのデータがあります。ListView の各項目のすべてのデータを保持するオブジェクトがあります。これらのオブジェクトの ArrayList を使用して、ListView にデータを入力しています。

私が現在実装している方法では、最初に ContentProvider A のすべての行への Cursor を取得します。このカーソルをループし、その 3 つのフィールドを ArrayList の各オブジェクトに追加します。このループの各反復で、ContentProvider A のフィールドに基づいて ContentProvider B からフィールドをプルするために、新しいカーソルが作成されます。このフィールドは、ContentProvider C の別のフィールドをプルするために使用されます。後続の Cursor のクエリは、前の Cursor からのデータに依存します。

私が理解していることから、CursorLoaders と LoaderManager を使用して別のスレッドで Cursors を生成し、それらのライフサイクルを正しく管理することが理想的です。このアプローチをどのように翻訳するか、または実際に最初にカーソルの数を最小限に抑えるより良いアプローチがあるかどうかはわかりません。

4

1 に答える 1