2016-11-16 3 views
0

J'utilise Android Developer Studio v2.2.2 et je n'arrive pas à trouver comment charger une image dans une variable qui peut être utilisée dans toute l'application. J'ai essayé ImageView sans succès.Android charger l'image dans la variable à utiliser

Ce qui suit est une java.lang.NullPointerException jette

// At top of the class declaration 
private ImageView image1; 

// then in the onCreate method 
image1.setImageResource(R.drawable.myImage); 

myImage est une image .png dans le res/dossier étirable.

myImage existe et a été utilisé dans d'autres endroits.

J'ai essayé de faire cela avec Drawable et obtenir les mêmes résultats, aussi getDrawable est de toute façon déconseillé.

Toute aide serait grandement appréciée, merci ...

+0

"comment charger une image dans une variable qui peut être utilisée dans toute l'application" - on ne sait pas ce que vous gagnez ici. "J'ai essayé ImageView sans succès" - un 'ImageView' est lié à son' Activity'. À moins que votre application n'ait qu'une seule «activité», vous ne pouvez pas utiliser «ImageView» «dans toute l'application». "Ce qui suit est une java.lang.NullPointerException" - veuillez éditer votre question et fournir la trace complète de la pile Java. – CommonsWare

Répondre

1

Utilisez BitmapFactory.decodeResource() pour charger l'image dans un Bitmap.

+0

Merci Egor, c'est ce qu'il a fait. La documentation ne précise pas que cela remplace l'obsolète getDrawable. Si je pouvais, je vous donnerais un vote. – user37997

+0

Eh bien, cela ne remplace pas 'getDrawable()', ces deux méthodes ont des valeurs de retour différentes, donc ils font des choses différentes. Le remplacement de 'getDrawable()' obsolète est 'ContextCompat.getDrawable()'. – Egor

0
public class BuddyAppAlert extends Application { 

private object obj; 
 
public class BuddyAppAlert extends MultiDexApplication { 
 
    obj=new Object(); 
 
}

créer la classe mentionné ci-dessus, cela vous donnera un objet « obj » qui existe au niveau de l'application, vous pouvez ensuite utiliser getter et setter de cet objet pour modifier ou récupérez-le n'importe où dans votre application jusqu'à ce que l'application soit en mémoire