Не удается импортировать ViewModel при использовании библиотеки Koin
После перезапуска Android Studio с недействительным кэшем и очистки + перестройки сборки, я все еще не могу импортировать ViewModel
класс от Koin
библиотека. Даже заставляя вручную import org.koin.android.viewmodel.ext.android.viewModel
Импортировать.
app / build.gradle
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation "org.koin:koin-android:1.0.2"
implementation 'org.koin:koin-android-viewmodel:1.0.2'
...
}
Кто-нибудь с такой же проблемой?
4 ответа
Ваша деятельность должна расширять AppCompatActivity вместо Activity.
Если вы хотите использовать koin с действиями, фрагментами или сервисами, ваш класс должен реализовать реализацию KoinComponent.
У меня была такая же проблема (также когда Activity расширяла AppCompatActivity), но в моем случае решение было в использовании стабильной версии core-ktx:
// Stable version - Works fine with koin and koin's viewModel
implementation "androidx.core:core-ktx:1.0.1"
// Alpha version - When in use viewModel is not found
implementation 'androidx.core:core-ktx:1.1.0-alpha03'
Мне нужно было использовать AppCompatActivity вместо Activity
Вам не нужна зависимость библиотеки Koin для использования методом viewmodels. Вам нужно только убедиться, что у вас есть эти зависимости:
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.0"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.3.0"
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
kapt "androidx.lifecycle:lifecycle-compiler:2.2.0"
implementation "androidx.activity:activity-ktx:1.1.0"
Пожалуйста, следуйте этому руководству студии Android для получения дополнительной информации: https://androidveryday.com/2020/03/07/android-studio-guide-to-viewmodel-livedata-2020-edition/