0

メインアクティビティでデータを取得し、利用可能になるとすぐにすべてのフラグメントにイベントを送信するアプリがあります。したがって、最初の開始では次のようになります。

アプリの起動 (フラグメントはバックグラウンドで初期化されています) -> フィードのダウンロード -> フラグメントに送信された通知 -> フラグメントは UI を初期化します

これまでのところすべて順調です。しかし、アプリを再開するとどうなりますか。データは引き続きキャッシュされるため、アプリの再開時にすぐにイベントを送信します。そのため、フラグメントがイベントを受信する準備ができていない可能性があります - >フラグメント UI の更新はありません! または、イベントがトリガーされ、フラグメントで受信されますが、フラグメントは UI の更新の準備ができていません。これは、レイアウトがまだ膨張していないためです -> NullpointerException または、フラグメントはイベントを受信しますが、アクティビティにアタッチされていません - > 別の例外。単一の問題に対処する方法はありますが、全体として、アーキテクチャが非常に複雑になっています。

どういうわけか、私は多くのことを試しました (Otto バスで遊んでいます) が、どういうわけか、アプリ内のすべてのアクティビティとフラグメントで中央データソースを利用できるようにするために機能するアーキテクチャを見つけることができません。

バンドルを使用したくない場合、どのようにフラグメントにデータを提供しますか?

4

1 に答える 1