ViewModelProviders устарела в 1.1.0
Глядя на документы Google для ViewModel
они показывают приведенный ниже пример кода о том, как получить ViewModel
:
val model = ViewModelProviders.of(this).get(MyViewModel::class.java)
При использовании последней зависимости android.arch.lifecycle:extensions:1.1.1
такого класса нет ViewModelProviders
,
Переход к документации для ViewModelProviders
Я увидел комментарий:
Этот класс устарел на уровне API 1.1.0. Используйте ViewModelProvider.AndroidViewModelFactory
Проблема в том, что при попытке использовать ViewModelProvider.AndroidViewModelFactory
не может найти эквивалент of
метод, чтобы получить экземпляр ViewModel
,
Что я пытался сделать:
ViewModelProvider.AndroidViewModelFactory.getInstance(application).create(PlayerViewHolder::class.java)
Отсюда и название метода create
Я получаю новый экземпляр ViewModel каждый раз, когда я его называю, но это не то, что мне нужно.
Любые идеи, что замена устаревшего кода выше?
32 ответа
Если у вас есть эта реализация
'implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
Попробуй использовать
viewModel = MainViewModel()
Это должно работать так
viewModel = ViewModelProviders.of(this@MainActivity).get(MainActivityViewModel::class.java)