Я проходил курс по udemy, где инструктор просит использовать следующий код. Изображение, на котором показан код, который требуется инструктору

Я пробовал использовать тот же код, но обнаружил несколько ошибок. Вот как выглядит студия Android, когда я набираю тот же код.

My code

Во-первых, студия Android не может распознать символ Build.VERSION_CODES.R

Когда я наводил курсор на выделенный текст в студии Android, я получаю следующее сообщение:

Ненужный; SDK_INT никогда не бывает <21

Это не имеет смысла, поскольку, во-первых, Build.VERSION_CODES.R - это уровень API 30, а мой минимальный целевой API - уровень 21. Во-вторых, даже если мой SDK_INT не может опускаться ниже 21. коды версий внутри {{X2 }} не должно измениться.

Следующая ошибка, которую показывает студия Android, заключается в том, что она не может решить window.insetsController

Неразрешенная ссылка: вставкиКонтроллер

Если я просматриваю исходный код класса Window внутри студии Android, я вижу метод getInsetsController, который должно заключаться в поле insetsController. Я пробовал использовать метод напрямую вместо получателя kotlin, и студия Android тоже не может распознать метод.

Android studio showing that Window.getInsetsController() cannot be found

Еще одно поле, которое не может найти студия Android, - это WindowInsets.Type, я вижу, что оно существует внутри исходного кода, но я не могу получить к нему доступ.

Мой compileSdkVersion установлен на 29, а buildToolsVersion установлен на "29.0.3".

Если кто-нибудь знает, что происходит, был бы очень признателен, если бы вы ответили. Я попытался создать новый проект и попробовать тот же код, но ошибки не исчезли. Может быть, sdk, который я использую, сломан? Но мой sdk - это тот, который поставляется со студией Android, поэтому я не уверен. Недавно обновил android studio с 4.0 до 4.1, может в этом проблема?

0
Kam S 27 Фев 2021 в 22:51

1 ответ

Лучший ответ

Для моего compileSdkVersion установлено значение 29

Установите его на 30. Android R (Android 11) - это API уровня 30.

Всегда устанавливайте на compileSdkVersion последнюю производственную версию Android.

0
CommonsWare 27 Фев 2021 в 20:09