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

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

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

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

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

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

0
0
341
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

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

Да ты прав. Я сделал это после того, как понял, что не могу реализовать свой код таким образом. В любом случае, спасибо за ваш ответ.

Hesam 11.04.2019 20:51

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

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

}

Спасибо, Михаил за ваш ответ. это внутренняя ссылка, я думаю. У меня есть эта строка в моем файле gradle: implementation 'com.airbnb.android:mvrx:1.0.0', которая исходит от github.com/airbnb/MvRx#установка

Hesam 11.04.2019 22:08

Посмотрите, можете ли вы найти какую-либо документацию по ActivityViewModel в этой библиотеке. Иногда у них будет информация о том, в какой версии библиотеки он был доступен. Возможно, этот компонент доступен только в версии 1.1.0 библиотеки (или что-то еще, что вы узнаете из документации), и в этом случае вы должны изменить свой градиент. файл для чтения: реализация «com.airbnb.android: mvrx: 1.1.0». Затем вам нужно будет повторно синхронизировать файлы Gradle.

Michael Dougan 11.04.2019 23:16

Если кто-то получает ту же ошибку даже при использовании 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.

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