我有一个Fragment0,其中包含一个ViewPager2,内部可能包含1个或多个子Fragment。
我已经创建了一个SharedViewModel,并在父 Fragment 中进行了定义,如下所示:val viewModel by viewModels<SharedViewModel>()
我还在每个子片段中添加了viewModel的定义。
private val sharedViewModel by viewModels<SharedViewModel>(
ownerProducer = { requireParentFragment() }
)
我使用NavigationControl从这些子片段(即Fragment1、Fragment2和Fragment3)导航到Fragment4。我的问题是,如何与不直接是Fragment0子级的Fragment4共享相同的视图模型?我能否使用相同的方法来与Fragment4共享viewModel呢?
还是有更好的方法来处理这样的用例?