LiveData не устанавливается, наблюдатель никогда не вызывается

Я считаю, что то, что вы испытываете, - это что-то известное как Closure http://en.wikipedia.org/wiki/Closure_ (computer_science) . Ваша lamba имеет ссылку на переменную, которая находится вне самой функции. Ваш lamba не интерпретируется до тех пор, пока вы его не вызовите, и как только он получит значение, которое имеет переменная во время выполнения.

0
задан Sergey 16 January 2019 в 21:31
поделиться

1 ответ

Попробуйте использовать свойство activity вместо this в вашем EpisodesFragment, когда вы запрашиваете MainViewModel:

override fun onActivityCreated(savedInstanceState: Bundle?) {
    super.onActivityCreated(savedInstanceState)

    mMainViewModel = ViewModelProviders.of(
        activity,
        mViewModelFactory
    ).get(MainViewModel::class.java)

    // ...
}

ViewModelProviders.of могут возвращать другой MainViewModel экземпляр для фрагмента.

0
ответ дан Sergey 16 January 2019 в 21:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: