Web サービスにアクセスし、Web サービスからデータを取得する IntentService があります。次に、データをオブジェクトのリストに変換します。その List を DataStore シングルトンに格納し、Intent をメイン アプリケーションに送り返して、データの準備ができていることを伝えます。
その後、メイン アプリケーションが DataStore からリストにアクセスし、表示します。また、ユーザーが選択できるいくつかのカテゴリに基づいて、このリストをフィルタリングすることもできます。これらのいずれかが選択されると、カスタム ListAdapter はそれが保持するリストのコピーを調べ、ユーザーが選択したタグに一致するオブジェクトを選択します。私は DataStore によって提供されたリストのコピーでそれを行っていると信じていますが、もう確信が持てません。
これが私の問題です。これらのフィルターのいずれかを選択します。次に、更新を押します。これにより、IntentService が DataStore.getList() を呼び出し、ここで ConcurrentModificationException がトリガーされます。
インテント サービスから実際にリストを返す適切な方法は何ですか?