【问题标题】:How to send data from thread inside a ViewModel to main Activity/Fragment?如何将数据从 ViewModel 内的线程发送到主 Activity/Fragment?
【发布时间】:2021-03-24 22:32:04
【问题描述】:

有没有办法将数据从 ViewModel 内的线程发送到主 Activity/Fragment?

我正在为财务图表构建一个应用程序,并且我正在从 API 获取数据,所以为了做到这一点,我需要将 API 调用放在一个线程中。除此之外,我还进行了一些计算以表示图表,因此我想使用 ViewModel。

【问题讨论】:

  • 在 Java 中,使用 MutableLiveData。在 Kotlin 中,使用协程和 StateFlow。每个都将由ViewModel 持有并由活动/片段观察。

标签: java android multithreading viewmodel android-livedata


【解决方案1】:

您可以通过postValue 方法而不是setValue 方法从子线程更新此类LiveData(MutableLiveData 或MediatorLiveData)值。

并且从 Activity/Fragment 中,您可以通过一般方式观察您的ViewModel 的LiveData。

【讨论】:

    猜你喜欢
    • 2019-02-26
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-14
    • 2021-02-07
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多