【问题标题】:Loading data only once in Android with ViewModel使用 ViewModel 在 Android 中仅加载一次数据
【发布时间】:2021-10-05 18:33:43
【问题描述】:

我有一个带有主要片段的 Android 应用程序,您可以使用导航图进行导航。打开主片段时加载数据。问题是当我从它导航并返回时再次加载数据,因为片段被重新创建。怎么可能只加载一次数据?

【问题讨论】:

  • 我们需要查看一些代码才能知道出了什么问题。这实际上取决于备份数据的存储库类型。
  • 如果您的加载数据的函数在onCreateView 中或者在创建新视图后调用的生命周期方法中,您可以尝试将其移动到诸如onCreate 之类的方法中
  • 但是每次都会重新创建片段。有没有办法知道它是第一次创建还是重新创建?
  • 您可以将数据缓存在视图模型中,这样您就不需要再次加载数据了。

标签: java android kotlin viewmodel


【解决方案1】:

您可以在应用程序中使用 ViewModel 并检查 ViewModel 是否已创建,不要再次加载数据

【讨论】:

    【解决方案2】:

    我建议您使用 SingleLiveEvent 它将解决您的问题,请检查此

    Medium

    StackOverFlow

    【讨论】:

      猜你喜欢
      • 2021-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2023-02-21
      • 2018-11-07
      • 1970-01-01
      相关资源
      最近更新 更多