android - 从 ViewModel 观察 LiveData

标签 android android-architecture-components android-livedata android-viewmodel

我有一个单独的类,我在其中处理数据获取(特别是 Firebase),我通常从中返回 LiveData 对象并异步更新它们。现在我想将返回的数据存储在 ViewModel 中,但问题是为了获得所述值,我需要观察从我的数据获取类返回的 LiveData 对象。观察方法需要一个 LifecycleOwner 对象作为第一个参数,但我的 ViewModel 中显然没有该对象,而且我知道我不应该在 ViewModel 中保留对 Activity/Fragment 的引用。我该怎么办?

最佳答案

this blog post Google 开发人员 Jose Alcérreca 建议在这种情况下使用转换(请参阅“存储库中的 LiveData”段落),因为 ViewModel 不应包含与 View 相关的任何引用( Activity 、上下文等),因为它很难测试。

关于android - 从 ViewModel 观察 LiveData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47515997/

相关文章:

android - Android Paging Libray 架构组件中 PagingDataAdapter 和 PagedListAdapter 的区别

android - 在数据源分页中更改 listId/query 的更好方法

android - 计算播放音频文件时已用时间和剩余时间

android - 可以将一个 ViewModel 用于多个 Activity 吗?

android - 处理程序类如何在 Android 中工作

android - 导航架构组件-如何刷新 fragment ?

android - 未调用 LiveData 观察者

android - 如何获取 ListAdapter<Model,ViewHolder::class> 的列表

java - 简单的 Picasa 图片上传代码示例

android - 以变​​量为名称的动态图像