Android-студия не может разрешить импорт

Я пытаюсь работать над примером проекта, чтобы изучить MvRx. Тем не менее, кажется, что-то не так. Android Studio не может найти и импортировать activityViewModel автоматически.

1) Я попытался импортировать его вручную, написав имя пакета, но оно все еще серое.

2) На вкладке Gradle я выбрал свой корневой проект и нажал на Refresh Gradle Project для того, чтобы обновить все зависимости. Это тоже не помогло.

В чем проблема?

3 ответа

Решение

Ваш код объекта должен быть во Фрагменте (который расширяет BaseMvRxFragment), а не в Деятельности.

Если кто-то получает ту же ошибку даже при использовании фрагмента, этот ответ может быть полезен.

В моем случае я использовал 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.

Потому что у вас есть другие com.airbnb.mvrx. ссылки, которые были разрешены правильно, это означает, что у вас есть ссылка на библиотеку com.airbnb.mvrx. Однако вполне вероятно, что у вас есть другая версия библиотеки, на которую ссылается исходный автор примера. Найдите в своем файле build.gradle зависимости и посмотрите, есть ли у вас библиотека, на которую есть ссылки. Если это так, сравните его версию с примером в образце, если он отличается, измените ссылку на номер версии образца. Если нет, то добавьте ссылку на библиотеку с соответствующим номером версии библиотеки, в которой находится этот объект.

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

}

Другие вопросы по тегам