`
/**
-
解决粘性问题,解决后添加的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的一致性,提供一个观察方法不需要粘性事件。