Я столкнулся с проблемой, когда Android Studio начала помечать код красным цветом:
Когда я нажимаю, чтобы просмотреть источник findViewById (), он приводит меня к источникам Android SDK 16, который отличается от версии SDK для моего проекта (29). В то же время в некоторых других классах в том же проекте такой проблемы нет, и findViewById работает хорошо. Нажатие на него приводит меня к Android SDK 29 источникам, что правильно.
Мой проект имеет версию SDK компиляции, установленную на 29, его зависимости используют SDK компиляции от 16 до 25.
Я уже пробовал:
- Очистить проект.
- Перестроить проект.
- Отменить кеширование / перезапустить
- Переустановить Android Studio и установить бета-версию.
- Пытался используйте другие GIT коммиты, где такой проблемы не было.
- Удаленные папки / .idea и /.gradle.
- Когда я удаляю источники Android SDK из ~ / Library / Android / sdk / platform / android -16 помогает до следующего перестроения (затем Studio автоматически загружает его снова)
В чем проблема: чтобы исправить историю GIT, я удалил все файлы из рабочего каталога и скопировал туда новую версию. Я знаю, что это не элегантное решение, но в разнице git проблем не было. Дело в том, что эта проблема «красного кода» теперь существует во всех предыдущих коммитах.
Проект компилируется без ошибок и приложение может быть установлено!
Пожалуйста, помогите!
Обновление: эта проблема возникает только во фрагментах! Каким-то образом getView () во Fragment дает мне другую версию представления?