1. ホーム
  2. android

[解決済み] ViewModelからLiveDataを観察する

2022-10-16 18:50:59

質問

私はデータ取得(特にFirebase)を処理する別のクラスを持っており、通常そこからLiveDataオブジェクトを返し、非同期にそれらを更新します。現在、私は返されたデータをViewModelに格納したいのですが、問題は、前記値を取得するために、私は私のデータフェッチングクラスから返されたLiveDataオブジェクトを観察する必要があるということです。observeメソッドは、最初のパラメータとしてLifecycleOwnerオブジェクトを必要としましたが、私は明らかに私のViewModelの内部にそれを持っていませんし、私はViewModelの内部にアクティビティ/フラグメントへの参照を保持しないことになっていることを知っています。どうしたらいいでしょうか?

どのように解決するのですか?

このブログの記事 では、このような場合に変換を使用することが推奨されています("LiveData in repositories"の段落を参照)。 ビューモデル に関連するいかなる参照も保持してはならないからです。 View (Activity, Context など) に関連するいかなる参照も保持してはいけません。