在viewModel中使用liveData,我观察是否返回任何Web api响应,但是如何使用removeObserve方法删除特定的观察值?
class MyViewModel: ViewModel() {
fun buttomSubmit() {
val responseLiveData = webFetch()
responseLiveData.observeForever(
Observe { // define a Observe?
doSomething()
}
)
}
override fun onCleared() {
responseLiveData.removeObserver(observer) // how to correctly remove the observe
super.onCleared()
}
}
首先,定义您的观察者并将其存储
val mObserver: Observer<MyClass> = Observer { obj ->
doSomething(obj)
}
然后您就可以开始永久观察
responseLiveData.observeForever(mObserver)
然后停止
responseLiveData.removeObserver(mObserver)