0

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

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

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

问题是什么?

在此处输入图像描述

4

3 回答 3

2

如果即使activityViewModel()在片段中使用时也有人遇到相同的错误,则此答案可能会有所帮助。

就我而言,我使用的是activityViewModel()内部片段。我仍然得到这个以及许多其他错误。最后我发现 mvrx 现在正在使用kotlin coroutines,并且所有对 rxjava 的依赖都在2.0.0-beta1.

为了解决这个使用

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

代替

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

在您的build.gradle.

于 2020-12-13T16:04:13.917 回答
0

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

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

}

于 2019-04-11T20:01:54.323 回答
0

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

于 2019-04-11T18:48:33.470 回答