我在项目中将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类的构造方法中初始化。
请注意,这是一个间歇性问题,并非每次都发生,即超过其预期工作时间的一半以上。
我在做错什么吗? 您可以推荐这种实现方法的更好方法吗?
答案 0 :(得分:0)
假设mGoogleDirectionResponse是一个LiveData对象,它必须具有观察者。另外,您还必须调用postValue(或setValue)来触发onChange。 不幸的是,由于缺少详细信息,我无法再告诉您有关ViewModel的更多信息,但是您已经可以检查这些要点。