我正在尝试一个示例项目来学习MvRx。但是,似乎出了点问题。 Android Studio无法自动查找和导入activityViewModel
。
1)我试图通过写入其程序包名称手动导入它,但它仍然是灰色的。
2)我从Gradle选项卡中选择了我的根项目,然后单击Refresh Gradle Project
以刷新所有依赖项。它也没有帮助。
出什么问题了?
答案 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
的“依赖项”部分。