使用Koin库时无法导入ViewModel

时间:2019-01-14 12:48:03

标签: android android-studio gradle koin

之后,使用无效的缓存重新启动Android Studio,并清理并重新构建,我仍然无法从ViewModel库导入Koin类。甚至手动强制import org.koin.android.viewmodel.ext.android.viewModel导入。

enter image description here

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 个答案:

答案 0 :(得分:3)

您的活动必须扩展AppCompatActivity而不是Activity。

如果要在活动,片段或服务中使用koin,则您的类必须实现实现KoinComponent。

答案 1 :(得分:1)

我需要使用AppCompatActivity代替Activity

答案 2 :(得分:1)

我遇到了同样的问题(当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'

答案 3 :(得分:0)

viewmodels 方法不需要 Koin 库依赖项。你只需要确保你有这些依赖:

 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 studio 指南了解更多信息:https://androideveryday.com/2020/03/07/android-studio-guide-to-viewmodel-livedata-2020-edition/