Я работаю с Single viewModel для Activity и всего ее фрагмента.
Таким образом, чтобы инициализировать viewmodel
, если необходимо записать этот установочный код в onActivityCreated
всех фрагментов
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
viewModel = ViewModelProviders.of(activity!!).get(NoteViewModel::class.java)
}
Я подробно изучил страницу расширения Android KTX: ( см. Здесь )
и я обнаружил, что могу инициализировать модель вида следующим образом:
// Get a reference to the ViewModel scoped to this Fragment
val viewModel by viewModels<MyViewModel>()
// Get a reference to the ViewModel scoped to its Activity
val viewModel by activityViewModels<MyViewModel>()
Итак, я добавил ниже зависимости для моего gradle (приложения):
//ktx android
implementation 'androidx.core:core-ktx:1.0.2'
implementation 'androidx.fragment:fragment-ktx:1.0.0'
implementation "androidx.lifecycle:lifecycle-extensions:2.0.0"
Но когда я пытаюсь использовать viewModels/activityViewModels
в моем приложении, их ссылка не найдена.
Мне нужна помощь в использовании этих расширений с каким-то базовым примером, который я пытался найти, но не нашел примеров.