Android 工作室无法解析导入

Android studio is not able to resolve import

我正在尝试通过示例项目来学习 MvRx。然而,似乎有些不对劲。 Android Studio 无法自动查找和导入 activityViewModel

1) 我尝试通过写它的包名手动导入它,但它仍然是灰色的。

2) 在 Gradle 选项卡中,我选择了我的根项目并单击 Refresh Gradle Project 以刷新所有依赖项。它也没有帮助。

有什么问题?

您的功能代码必须位于片段(扩展 BaseMvRxFragment)中,而不是 Activity。

因为你还有其他com.airbnb.mvrx。已正确解析的引用,这意味着您确实有对 com.airbnb.mvrx 库的引用。但是,您引用的库版本可能与示例的原始作者不同。在您的 build.gradle 文件中查找依赖项,看看您是否在其中引用了库。如果是这样,将其版本与示例中的版本进行比较,如果不同,则将您的引用修改为示例的版本号。如果不是,则添加对具有该对象所在库的适当版本号的库的引用。

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.airbnb.mvrx:mvrx:12.0.1'

}

如果有人在片段中使用 activityViewModel() 时出现同样的错误,这个答案可能会有帮助。

在我的例子中,我在片段中使用了 activityViewModel()。我仍然得到这个以及许多其他错误。最后我发现 mvrx 现在正在使用 kotlin coroutines 并且在 2.0.0-beta1.

中删除了对 rxjava 的所有依赖项

解决这个问题

implementation "com.airbnb.android:mvrx-rxjava2:2.0.0-beta3"

代替

implementation "com.airbnb.android:mvrx:2.0.0-beta3"

build.gradle 的依赖项部分。