在片段之间传递数据Android Arch Components导航

时间:2018-09-26 13:06:49

标签: android android-architecture-components

AAC导航可以与Bundle一起使用本机方式将参数从FragmentA传递到FragmentB。但是它不支持将结果从FragmentB传递到FragmentA

ViewModel overview SharedViewModel中也用于将参数从一个片段传递到另一个片段。此ViewModel附加到活动的生命周期。因此,在FragmentA打开FragmentB的情况下,FragmentB创建SharedViewModel并将数据传递到FragmentC并打开它,然后该用户导航回到{{ 1}} FragmentA仍然有效,即使不再使用它也是如此。据我所知,没有办法强制丢弃SharedViewModel

我看到的可接受的解决方案是对活动中的所有片段使用单个ViewModel,该片段管理SharedViewModelarguments,防止内部对象泄漏。

除了使用results以外,还有其他方法可以将结果传回去吗?

总结还有一个问题。 AAC导航真的很好吗,我应该使用它并针对这种情况制定解决方法?也许里面还有其他问题。

0 个答案:

没有答案