閉じる

Activity-Fragment間で ViewModelを共有する

通常、Fragment内で ViewModeのインスタンスを得る場合 viewModelsを使って以下のようにする。

private val viewModel by viewModels()

Activityでも同じ ViewModelインスタンスを参照したくて同じように記述してもだめで、代わりに activityViewModelsを使って以下のように。

private val viewModel by activityViewModels()

ちなみに Activity側では viewModelsを使う。
Fragmentで ViewModelを使うときはインスタンスの保存場所としての選択肢が Activity以外にもあるけど、Activityで使うときは Activityしか無いということなのかね?

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)