Android Studio无法解析导入

时间:2019-04-04 19:51:32

标签: android kotlin delegates kotlin-delegate

我正在尝试一个示例项目来学习MvRx。但是,似乎出了点问题。 Android Studio无法自动查找和导入activityViewModel

1)我试图通过写入其程序包名称手动导入它,但它仍然是灰色的。

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

出什么问题了?

enter image description here

3 个答案:

答案 0 :(得分:0)

您的功能代码必须在Fragment(扩展BaseMvRxFragment)中,而不在Activity中。

答案 1 :(得分:0)

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

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

}

答案 2 :(得分:0)

如果即使片段中使用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的“依赖项”部分。