相关疑难解决方法(0)

使用导航组件将视图模型范围限定为多个片段(不是活动)

我正在使用导航组件,我希望在几个片段之间共享一个视图模型,但是当我离开片段时应该清除它们(因此没有将它们范围限定到活动中)我试图将一个活动放在多个片段中方法。我已经设法使用多个导航主机实现了这一点,并使用 getParentFragment 将片段范围限定到它,但这只会导致更多的问题不得不将片段包装在其他父片段中,失去后退按钮无缝工作和其他黑客来获得一些应该工作的东西很简单。有没有人有关于如何实现这一目标的好主意?我想知道我是否可以使用 getViewModelStore 的任何东西,鉴于下面的图像,我想将视图模型范围限定为 createCardFragment2 并在它之后的任何内容中使用它(addPredictions、editImageFragment 和其他我没有的)

顺便说一句,我不能只在 mainFragment 视图模型存储上调用 clear,因为这里还有其他不应清除的视图模型,我想我想要一种方法来告诉导航主机我知道的父片段应该是什么不是如果我从 mainFragment 或 cardPreviewFragment 导航,这将是一件事,或者一种使视图模型更新的方法

导航图

android android-fragments android-viewmodel android-jetpack android-jetpack-navigation

24
推荐指数
3
解决办法
7193
查看次数