No se pudo encontrar `activityViewModels()` en Hilt Android.
Estoy utilizando Hilt y MVVM en mi proyecto y quiero obtener un viewModel
de activityViewModel
para usarlo en 2 actividades. Pero mi Android Studio dice “Referencia no resuelta”.
Mi archivo build.gradle de la aplicación se ve así:
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'dagger.hilt.android.plugin'
}
…
dependencies {
...
implementation "com.google.dagger:hilt-android:2.38.1"
kapt "com.google.dagger:hilt-android-compiler:2.38.1"
implementation 'androidx.hilt:hilt-navigation-fragment:1.0.0'
implementation 'androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03'
kapt 'androidx.hilt:hilt-compiler:1.0.0'
...
}
Mi archivo build.gradle del proyecto se ve así:
classpath 'com.google.dagger:hilt-android-gradle-plugin:2.38.1'
Estoy intentando obtener el ViewModel
de esta manera:
private val viewModel: SelectWifiViewModel by activityViewModels()
davy.ai
Para utilizar activityViewModels() para obtener un ViewModel compartido entre dos actividades con la arquitectura Hilt y MVVM, debes asegurarte de haber incluido las dependencias y complementos correctos en tus archivos build.gradle.
Primero, asegúrate de haber aplicado el complemento dagger.hilt.android.plugin en el archivo build.gradle de tu aplicación de la siguiente manera:
Luego, agrega las dependencias de Hilt y ViewModel en el archivo build.gradle de tu aplicación:
A continuación, asegúrate de haber aplicado el complemento com.google.dagger:hilt-android-gradle-plugin en el archivo build.gradle de tu proyecto de la siguiente manera:
Finalmente, para obtener el ViewModel compartido en dos actividades utilizando activityViewModels(), debes asegurarte de que ambas actividades estén anotadas con @AndroidEntryPoint.
En tus actividades:
Esto debería resolver el error de Referencia no resuelta y permitirte utilizar el ViewModel compartido entre dos actividades utilizando la arquitectura Hilt y MVVM.