0

問題があります! 私はフラグメントであるビューページャを持っています。この中に、私は3つの断片を持っていますが、同じモデルを持ちますが、1つの状態(私のモデルのプロパティ)でフィルタリングされた項目のリストを表示します。例えば、whatsappのように私はすべての会話、私が読んだことを読んでいないし、最後に他を読んでいない。 問題は、最初のフラグメント(すべての会話)の内側にあるすべてのデータを更新する必要があることです。だから、私はコンテナフラグメント(ビューページャ)内のすべてのデータを取得しようとしましたが、コンテナビューが作成されると、最初と2番目のフラグメントも作成されるので、データ(すべての会話)で私の最初のリストを見ることができません。ライフサイクルでは、改造応答から取得したビューページャ(フラグメント)にデータを設定する必要がありますか?

コンテナ(ビューページャ)内のデータを取得し、各子フラグメントのそれぞれのリストをinmediatly表示するにはどうすればよいですか?助けて!

答えて

0

解決策は、Fragmentにデータを格納しないことです。

それは Fragment Y.共有に Fragments間のいずれかの状態が、私はいつもこのため、発生しやすい簡単で、エラーデータが Fragment(または Activity)Xで必要とされるならば、それはまた、必要とされるであろうことは非常に一般的なユースケースではありません

アプリケーションのデータを「アプリケーションのグローバルスコープ」に保つためのアドバイス。

あなたが必要とするものは、オブジェクトApplicationのスコープ内に存在し、すべてFragmentsに注入されているオブジェクトです。DataRepositoryとしましょう。 Applicationの範囲内に存在するため、データは特定のFragmentに限定されず、Fragmentsはすべて適切なデータにアクセスしてフィルタリングすることができます。

このような「グローバル」オブジェクトを定義する最も便利な方法は、依存性注入フレームワーク(Daggerなど)を使用し、ApplicationComponentのスコープ付き注入としてDataRepositoryを指定することです。

+0

ありがとうございます!私は理解しています:Dしかし、もし私がそのコンテナの中にいて、最初のフラグメントが見えるようになるたびにデータをリフレッシュしたいのであれば...どうすれば私はAPIを呼び出す必要がありますか?私は私の知り合いがわからない:S –

関連する問題