`
/**
-
解決粘性問題,解決後新增的observe會收到老資料問題
*/
class UnPeekLiveData: MutableLiveData () { private var pending = false
override fun setValue(value: T?) {
pending = true
super.setValue(value)
}override fun observe(owner: LifecycleOwner, observer: Observer
) {
super.observe(owner, Observer { t ->
if (pending) {
pending = false
observer.onChanged(t)
}
})
}/**
- 為了保持與LiveData.observe的一致性,提供一個觀察方法不需要粘性事件。
*/
fun observeSticky(owner: LifecycleOwner, observer: Observer) {
super.observe(owner, observer)
}
}`
- 為了保持與LiveData.observe的一致性,提供一個觀察方法不需要粘性事件。