Не удается разрешить ContextCompat на Android
У меня есть объект AlertDialogue, называемый диалог. Я пытаюсь добавить иконку к нему. Я вижу, что этот синтаксис теперь устарел:
dialog.setIcon(getResources().getDrawable(R.drawable.myImage);
Я везде читаю, что это должно работать:
dialog.setIcon(ContextCompat.getDrawable(context, R.drawable.myImage));
Однако синтаксис ContextCompat не распознается Android Studio. Есть что-то, что я должен импортировать? Спасибо.
*** Обновление: Спасибо @Sharj за правильный ответ ниже. Я тоже сделал быстрое видео, если вам, ребята, нужен визуальный ролик: https://www.youtube.com/watch?v=eFiaO0srQro&feature=youtu.be
Ответы
Ответ 1
ContextCompat является частью библиотеки поддержки v4. Вы добавили библиотеку поддержки 4 в свой проект?
android.support.v4.content.ContextCompat
Вы можете включить библиотеку поддержки в файл build.gradle в папке приложения, если у вас еще нет
dependencies {
// other stuff here
compile 'com.android.support:support-v4:23.0.0'
// update the 23.0.0 to latest version available
}
Ответ 2
У меня была та же проблема, и мне помогли этот и еще несколько постов. С Android Studio у вас есть несколько файлов Gradle.
Я получил свой код для работы, добавив секцию зависимостей в Gradle (Module: Library) или файл, который имеет "android {"...
dependencies {
// other stuff here
compile 'com.android.support:support-v4:23.+'
// update the 23.0.0 to latest version available
}
Ответ 3
Если вы используете плагин Android Gradle 3.0.1, добавьте google() в свои репозитории allProjects в файле build.gradle (уровень проекта), а затем выполните синхронизацию.
как это:
allprojects {
repositories {
google()
....
//other repos
}
}
Ответ 4
Добавление этого к build.gradle(Module: App) под зависимостями решило проблему
compile 'com.android.support:support-v4:23.0.0'
Ответ 5
androidx.core.content.ContextCompat
от зависимости AndroidX
compile 'androidx.appcompat:appcompat:1.0.0'