所以,我有一个看起来像这样的ViewModel
class MyViewModel<E, S> : ViewModel() {
private val _state = MutableLiveData<S>()
val state: LiveData<S>
get() = _state
abstract fun onEventReceived(event: E)
protected fun pushState(state: S) {
_state.value = state
}
}
和往常一样,我的Activity / Fragment中有观察者代码
viewModel.state.observe(this, Observer {
// Do something here
})
我的问题是当我尝试发出这样的值
时pushState(State.A)
pushState(State.B)
pushState(State.C)
在我的活动/片段中,它仅收到C
。
任何人都有这种行为的经验吗?请分享您的解决方法。