Android LiveData Observer仅接收最后发出的值

时间:2019-03-04 05:54:36

标签: android android-livedata

所以,我有一个看起来像这样的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

任何人都有这种行为的经验吗?请分享您的解决方法。

0 个答案:

没有答案