Наблюдатель LiveData не запускается в Котлине - PullRequest
0 голосов
/ 15 октября 2018

Я использую LiveData с Kotlin в моем проекте.

Я столкнулся с периодически возникающей проблемой, когда наблюдатель, присоединенный к объекту MutableLiveData, иногда не запускается.

Наблюдатель присоединенв действии onCreate () (с действием в качестве владельца жизненного цикла) над объектом LiveData в ViewModel.

Создание экземпляра ViewModel:

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

Установка наблюдателя:

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

Объект LiveData инициализируется в конструкторе класса ViewModel.

Обратите внимание, что это периодически возникающая проблема, которая возникает не каждый раз, т. Е. Более половины времени, когда она работает точнокак и ожидалось.

Есть ли что-то, что я делаю не так?Есть ли лучшая практика для этой реализации, которую вы можете порекомендовать?

1 Ответ

0 голосов
/ 15 октября 2018

при условии, что mGoogleDirectionResponse является объектом LiveData, он должен иметь наблюдателя.Также вы должны вызвать postValue (или setValue), чтобы вызвать onChange.К сожалению, я не могу рассказать вам больше о вашей ViewModel из-за недостающих деталей, но вы уже можете проверить эти пункты.

...