我正在观察liveData以便在ViewModel中使用observeForever进行一些查询,
query.observeForever {
//
}
逻辑工作正常,但是我无法从onCleared中删除观察者,因为我无法从viewModel访问生命周期,我不应该,我尝试过Transformation.map
Transformations.map(query){
//
}
并且未能观察到更改。有关如何使用Transformation.map收听实时数据更改并对其执行操作的任何建议
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)
!