2015-07-30 27 views
15

Ho un oggetto Dialogo di avviso chiamato finestra di dialogo. Sto tentando di aggiungere un'icona ad esso. Vedo che questa sintassi è ora sconsigliato:Impossibile risolvere ContextCompat in Android

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

sto leggendo tutto il mondo che questo dovrebbe funzionare:

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

Tuttavia, la sintassi ContextCompat non viene riconosciuta da Android Studio. C'è qualcosa che dovrei importare? Grazie.

*** Aggiornamento: Grazie a @Sharj per la risposta corretta di seguito. Ho anche realizzato un video veloce se avete bisogno di un visual: https://www.youtube.com/watch?v=eFiaO0srQro&feature=youtu.be

risposta

23

ContextCompat fa parte della libreria di supporto v4. Hai aggiunto la libreria di supporto 4 al tuo progetto?

android.support.v4.content.ContextCompat 

È possibile includere libreria di supporto per il file nella cartella build.gradle applicazione se non l'hai già

dependencies { 
// other stuff here 
    compile 'com.android.support:support-v4:23.0.0' 
// update the 23.0.0 to latest version available 

} 
+0

La prego di dirmi come aggiungere libreria di supporto 4. È una semplice dichiarazione di importazione nella parte superiore della mia classe? import android.support.v4.content.ContextCompat –

+0

Inoltre, a quale file gradle aggiungere l'istruzione? Quello sotto build.gradle dice Non posizionare le dipendenze dell'applicazione qui; appartengono ai singoli file build.gradle del modulo. –

+0

Troverete il file build.gradle nella cartella dell'app. – Sharj

0

Se si utilizza Android plug Gradle 3.0.1, aggiungere Google() per i tuoi allProjects repository nel file build.gradle (livello di progetto) poi sincronizzare

come questo:

allprojects { 
    repositories { 
     google() 
     .... 
     //other repos 
    } 
} 
0

Ho avuto lo stesso problema e questo e alcuni altri post mi hanno aiutato. Con Android Studio hai più file Gradle.

ho ottenuto il mio codice per lavorare con l'aggiunta della sezione dipendenze in Gradle (Modulo: Library) o il file che ha "Android {" ...

dependencies { 
     // other stuff here 
     compile 'com.android.support:support-v4:23.+' 
     // update the 23.0.0 to latest version available 
    } 
Problemi correlati