Я работаю с 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
в своем приложении, их ссылка не найдена.
Мне нужна помощь в том, как использовать эти расширения с некоторыми базовыми примерами, которые я пытался найти, но не нашел.
ViewModelFactory
- person IgorGanapolsky   schedule 30.10.2019