-1

我在我的项目中使用 LiveData 和 Kotlin。

我一直面临一个间歇性问题,其中附加到 MutableLiveData 对象的观察者有时不会被触发。

观察者附加在活动 onCreate() 中,(活动作为生命周期所有者)在 ViewModel 中的 LiveData 对象上。

ViewModel 实例化:

mViewModel = ViewModelProviders.of(this).get(MyViewModel::class.java)

设置观察者:

mViewModel.mGoogleDirectionResponse.observe(this, Observer {
            it-> drawRouteonMap(it)
        })

LiveData 对象正在 ViewModel 类的构造函数中初始化。

请注意,这是一个间歇性问题,并非每次都发生,即超过一半的时间完全按预期工作。

有什么我做错了吗?您可以推荐此实现的更好做法吗?

4

1 回答 1

0

假设 mGoogleDirectionResponse 是一个 LiveData 对象,它必须有一个观察者。您还必须调用 postValue(或 setValue)来触发 onChange。不幸的是,由于缺少详细信息,我无法告诉您有关您的 ViewModel 的更多信息,但您已经可以检查这些要点。

于 2018-10-15T14:59:10.200 回答