Я пытаюсь использовать новую библиотеку предпочтений androidx , но Android Studio просто не распознает ее в xml. В моем res/xml/setting_prefs.xml
у меня есть
<?xml version="1.0" encoding="utf-8"?>
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:key="@string/settings">
<androidx.preference.SwitchPreference android:key="test"
android:title="test"/>
<androidx.preference.SeekBarPreference
android:title="Stopwatch frequency"
android:summary="The time (in ms) between each update of the stopwatch"
android:defaultValue="100"
android:min="50"
android:max="200"/>
</androidx.preference.PreferenceScreen>
Хотя это работает нормально при запуске, android studio просто ничего не распознает и не предлагает подсказки для автозаполнения.
Я добавил соответствующие зависимости в файл build.gradle
:
implementation 'androidx.legacy:legacy-preference-v14:1.0.0'
implementation 'androidx.preference:preference:1.1.0-alpha02'
android studio настроена на использование androidx с
android.enableJetifier=true
android.useAndroidX=true
(Обратите внимание, что это совершенно новый проект Androidx, а не старый проект, который я перенес. Я использовал миграцию на androidx сразу после запуска нового проекта)
Я использую Android Studio 3.2.1 и уже пробовал общие решения, такие как аннулирование кэша + перезапуск, удаление папки .idea
, удаление зависимостей и добавление их снова (и даже изменение версии) удаление XML-файла, создание нового и даже попытка запустить чистую сборку Gradle. Единственные вещи, которые он распознает или предлагает, - это класс android.preference.PreferenceScreen
и некоторые другие классы по умолчанию (не для androidx). Обратите внимание, что класс предпочтений androidx распознается в коде Java без каких-либо проблем.