【发布时间】:2019-06-06 15:19:05
【问题描述】:
我有一个BaseActivity,其中有一个MutableLiveData 字段,如下所示
val refInfoLiveData: MutableLiveData<RefInfo?> by lazy { MutableLiveData<RefInfo?>() }
当调用BaseActivity 的onStart 方法时,将进行网络调用以填充此MutableLiveData 字段。
我还有几个 Fragments,它们是继承 BaseActivity 的 Activity 的一部分。
如果这些片段我在片段的onResume 方法中进行另一个调用,如下所示
(activity as BaseActivity).refInfoLiveData.observe(this, Observer {
it?.let { refInfo ->
adapter?.setRefInfo(refInfo)
}
})
第一次创建片段时,observe 只调用了一次,但片段进入后台,然后又返回,它被多次调用,这会导致问题。
这个问题可能是什么原因,我该如何解决?
任何帮助将不胜感激。
【问题讨论】:
-
@ZachBvy 这是一个不同的问题,仅适用于从 Room 获得的查询结果。
标签: android kotlin android-lifecycle android-architecture-components android-livedata