Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot Resolve ContextCompat in Android

Tags:

java

android

I have an AlertDialogue object called dialog. I am attempting to add an icon to it. I see that this syntax is now deprecated:

dialog.setIcon(getResources().getDrawable(R.drawable.myImage); 

I'm reading everywhere that this should work:

dialog.setIcon(ContextCompat.getDrawable(context, R.drawable.myImage)); 

However, the ContextCompat syntax is not being recognized by Android Studio. Is there something that I should be importing? Thank you.

***Update: Thank's to @Sharj for the correct answer below. I made a quick video too if you guys need a visual: https://www.youtube.com/watch?v=eFiaO0srQro&feature=youtu.be

like image 932
Mark F Avatar asked Jul 30 '15 20:07

Mark F


People also ask

What is ContextCompat Android studio?

ContextCompat class is used when you would like to retrieve resources, such as drawable or color without bother about theme. It provide uniform interface to access resources and provides backward compatibility. Common use case could be get color or drawable etc e.g..


2 Answers

ContextCompat is part of support library v4. Have you added support library 4 to your project?

android.support.v4.content.ContextCompat 

You can include support library to your build.gradle file under app folder if you haven't already

dependencies { // other stuff here     compile 'com.android.support:support-v4:23.0.0' // update the 23.0.0 to latest version available  } 
like image 146
Sharj Avatar answered Sep 26 '22 09:09

Sharj


androidx.core.content.ContextCompat 

from AndroidX dependency

implementation 'androidx.appcompat:appcompat:1.1.0' 
like image 34
Atetc Avatar answered Sep 22 '22 09:09

Atetc