Lopsem Pyier
Intento agregar viewModelScope a un viewModel básico, pero Android Studio no lo reconoce.
Traté de cambiar mi archivo de compilación de gradle con alguna solución que encontré, pero nada funciona.
Aquí un extracto de mi aplicación build.gradle
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0-alpha01"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.2.0-alpha01"
implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha01"
kapt "androidx.lifecycle:lifecycle-compiler:2.2.0-alpha01"
Cuando escribo viewModelScope en mi viewModel dice Unresolved reference: viewModelScope
.
j2emanue
por ahora está en alfa, así que actualice su gradle para usar las siguientes dependencias:
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0"
En mi caso, olvidé extender ViewModel en esa clase, la clase que usa para viewModelScope debe ser como yourModelClass : ViewModel()
en kotlin y para java yourModelClass extends ViewModel
espero su ayuda
He tenido el mismo problema y acabo de importar:
"androidx.navigation:navigation-fragment-ktx:2.2.0-rc03"
"androidx.lifecycle:lifecycle-livedata-ktx:2.2.0-rc03"
Aunque pensé que fragment-ktx no estaba realmente relacionado. Me tomó un tiempo darme cuenta de eso. ¡Espero eso ayude!
-
¿Alguien puede explicar por qué “androidx.navigation:navigation-fragment-ktx” está relacionado con viewModelScope?
– Erfan Eghterafi
9 dic 2020 a las 15:55
Compruebe también que está en el archivo correcto. Tuve el mismo problema por un momento y llegué a esta página, pero luego me di cuenta de que accidentalmente traté de ejecutar viewModelScope.launch
en mi Fragmento.
viewModelScope.launch
solo está disponible en sus ViewModels y
lifecycleScope.launch
en sus componentes conscientes del ciclo de vida.
Para ver la última versión del artefacto, consulte
Repositorio Maven Ciclo de vida de Android ViewModel Kotlin Extensiones
En el archivo build.gradle del nivel de la aplicación, agregue lo siguiente: –
def lifecycle_version = "2.2.0-rc03"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
No olvides agregar apply plugin: 'kotlin-kapt'
en la parte superior del archivo app/build.gradle
tengo dos
viewModelScope
fue presentado con el lanzamiento 2.1.0
ver aquí.
comprobar si lifecycle-viewmodel-ktx-2.2.0-alpha01.aar
esta instalado. Para mí no hay ningún mensaje de error con la configuración que escribiste. Sin embargo, hay un mensaje de error cuando se usa una versión anterior:
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.0.0"
Pero esto funciona:
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.1.0"
Sanket Bhangale
Tal vez no esté extendiendo el modelo de vista de actividad con Ver modelo clase
class SampleActivityViewModel: ViewModel() {
fun getData(){
viewModelScope.launch{
// Make an API call
}
}
}
lo tengo funcionando usando
androidx.lifecycle:lifecycle-viewmodel-ktx:2.1.0-beta01
.– CommonsWare
25 de mayo de 2019 a las 14:38