gpt4 book ai didi

android - 在 fragment 之间发送数据的最佳方式是什么? ViewModel 或目标参数?

转载 作者:行者123 更新时间:2023-11-29 22:56:28 25 4
gpt4 key购买 nike

假设我有两个 fragment :

  • 第一个 fragment
  • 第二个 fragment

用户将在 FirstFragment 中提示一些数据,我想将其中一些数据共享给 SecondFragment。我正在使用 Android 的 ViewModel 和 Jetpack 的导航。哪种是传递数据的最佳方式?

View 模型

对于 viewModel,如果我像这样实例化 viewModel:

MyViewModel viewModel = ViewModelProviders.of(getActivity()).get(MyViewModel.class);

在每个 fragment 中,我可以创建一个名为 setSharedData 的方法并从 FirstFragment 调用它,并创建方法到 getSpecificData 并根据需要在我的 SecondFragment 中调用它们。

目标参数

如果我使用 Jetpack 的导航,我可以使用 destination arguments with safe-args共享数据,将其设置在 Fragment 之间的操作中。

您认为哪个选项最好?您认为这些是更适合不同情况的不同解决方案吗?那么,在什么情况下应该使用什么方法呢?

最佳答案

我认为 View 模型方法在您想多次使用共享数据时很有用,但如果您只需要共享数据来启动,我建议使用目标参数。因为在 View 模型中保存数据会占用内存,所以没有必要。

关于android - 在 fragment 之间发送数据的最佳方式是什么? ViewModel 或目标参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57386603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com