カスタム FragmentPagerAdapter で 4 つの子 Fragments を作成する ViewPager を保持する FragmentActivity が 1 つあります。フラグメントには、データを表示する ListView が含まれています。応答が終了したら、FragmentActivity で Web API を呼び出します。データの準備ができたことをすべてのフラグメントに通知し、アダプターにそのデータを入力したいと考えています。Fragment の初期化時にはデータを使用できないことに注意してください。
フラグメントの作成時にフラグメントへの参照を保存して「myFragment.hereIsYourData(Object data)」を呼び出すこともできますが、メモリ不足のためにアプリを強制終了すると、Activity を再作成した後に参照が変更されます。(私が間違っていなければ、アクティビティでフラグメントへの参照を保持することは悪いことだと読みました)
明確にするために、「findFragmentById(id)」は使用できません。ViewPager はそれを公開していないからです。ここで説明されている「getFragmentTag」ハックを使用できますhttps://stackoverflow.com/a/9744146/1025364しかし、私はしたくありません:D.
次に、Fragment onResume メソッドからアクティビティへのインターフェイスを介してデータを要求しようとしましたが (開発者ガイドで説明されているように)、その時点ではデータは有効ではありません。準備が整うまで、ある種のループでデータを要求する必要がありますか?
そのような状況での最善のアプローチは何ですか?