Android 在片段和对话片段之间共享 ViewModel?

Android share ViewModel between fragment and dialog fragment?

提问人:kkkkk 提问时间:8/3/2020 更新时间:3/28/2022 访问量:5824

问:

如何在 dialog 和 dialogFragment 之间共享相同的 viewModel?我知道viewModel可以在活动范围内共享。但这对我来说范围太大了。

 private val model: SharedViewModel by activityViewModels()

不幸的是,我没有项目导航组件。

人造人 android-fragments MVVM的 android-dialogfragment android-viewmodel

评论

0赞 Uuu Uuu 8/3/2020
你可以在这里查看 developer.android.com/topic/libraries/architecture/...

答:

32赞 Công Hải 8/3/2020 #1
  1. 用于显示childFragmentManagerDialogFragment

  2. 声明内部共享者ViewModelFragment

private val sharedViewModel: YourViewModel by viewModels()
  1. 内部声明者DialogFragmentViewModel
private val sharedViewModel: YourViewModel by viewModels(ownerProducer = { requireParentFragment() })