dca*_*121 6 android android-livedata android-viewmodel
我试图将数据设置到一个文件中的 ViewModel 上,但我不希望在该文件中保存任何活动引用。
A 类 -> 将数据设置到 ViewModel 中的 LiveData 上 具有 Application 类引用,但不保存活动或片段
B 类 -> 从 ViewModel 中的 LiveData 读取数据 拥有对 Activity 的引用。
B 类可以随着 Activity 的配置更改而被销毁和重新创建。A类持久化在内存中并不断向LiveData设置数据
问题:ViewModelProviders.of(activity orfragment).get() ViewProviders需要activity或fragment实例。
ViewModel 与 Activity 和 Fragment 的生命周期紧密相关,因此您无法将它们与应用程序上下文一起使用,而需要使用 Activity 和 Fragment 的上下文。
如果您想在片段之间共享数据,您可以使用getActivity()相同的 ViewModel 来保存您的数据,并且只要您的 Activity 在范围内,它就会一直存在。
| 归档时间: |
|
| 查看次数: |
11346 次 |
| 最近记录: |