Почему Android Studio настаивает на том, что я использую Android 4? - PullRequest
0 голосов
/ 19 февраля 2019

Я работаю над проектом Android, которым делюсь с остальной частью моей команды.Проект прекрасно строится из командной строки.Когда я просматриваю конкретный исходный файл в Android Studio, эта строка выделяется красным цветом как ошибка:

mAccountSpinner = mView.findViewById(R.id.account_picker);

При наведении курсора на строку ошибки Android Studio говорит:

Incompatible types.
Required: com.mycompany.AccountPickerView
Found: android.view.View

Мои коллеги не видят этой ошибки.Когда я нажимаю Ctrl + 1009 *, Android Studio открывает кешированный источник Android 4: ~/.gradle/caches/modules-2/files-2.1/com.google.android/4.1.1.4/.../View.java!Это источник ошибки, потому что версия этой функции для Android 4 гласит:

public final android.view.View findViewById(int id)

Когда мои коллеги делают это, они направляются к современной версии findViewById:

public <T extends View> T findViewById(@IdRes int id)

Наш проект нацелен на API 28.

Я пытался сделать недействительными кэши и перезапустить.Я удалил свою папку ~/.gradle.Я даже деинсталлировал и переустанавливал Android Studio.

Есть предложения, что я тут не так понял?

1 Ответ

0 голосов
/ 19 февраля 2019

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

mAccountSpinner = (AccountPickerView) mView.findViewById(R.id.account_picker);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...