我正在观察一个liveData来使用observeForever在ViewModel中执行一些查询,
query.observeForever {
//
}逻辑运行良好,但我不能删除onCleared中的观察者,因为我无法从viewModel访问生命周期,我不应该这样做,我尝试了使用Transformation.map
Transformations.map(query){
//
}也未能观察到changes.any建议如何使用Transformation.map来侦听实时数据更改并对其进行操作。
发布于 2020-05-18 05:01:38
你可以让你的视图模型像这样扩展LifecycleObserver -
class MyViewModel() : LifecycleObserver {
val queryObserver = Observer {
// do stuff
}
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
fun onResumed() {
query.observeForever(queryObserver)
}
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
fun onPasued() {
query.removeObserver(queryObserver)
}
}不要忘记在你的活动中添加getLifecycle().addObserver(mViewModel)!
https://stackoverflow.com/questions/61817053
复制相似问题