Не удается разрешить 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'