如何在对话框(Dialog)和对话框碎片(DialogFragment)之间共享同一个viewModel?我知道viewModel可以在Activity作用域内共享,但这个作用域对我来说过于大了。
private val model: SharedViewModel by activityViewModels()
很遗憾,我没有一个项目导航组件。
如何在对话框(Dialog)和对话框碎片(DialogFragment)之间共享同一个viewModel?我知道viewModel可以在Activity作用域内共享,但这个作用域对我来说过于大了。
private val model: SharedViewModel by activityViewModels()
很遗憾,我没有一个项目导航组件。
使用 childFragmentManager
来显示 DialogFragment
在 Fragment
中声明共享的 ViewModel
,方法是
private val sharedViewModel: YourViewModel by viewModels()
DialogFragment
中声明ViewModel
private val sharedViewModel: YourViewModel by viewModels(ownerProducer = { requireParentFragment() })