2010-11-17 4 views
10

J'essaie d'utiliser un tableau d'images puis définissez mon ImageView sur l'une des images du tableau. Mon premier instinct était d'utiliser un tableau de chaînes avec les noms d'image, mais cela n'a pas fonctionné.Image array in android

Comment faire ceci. Faire un tableau dessinable avec les noms d'image sans guillemets ou quoi?

Répondre

13

dépend où vos images sont

mais s'il y a dans R.drawables. alors pourquoi ne pas simplement stocker la référence int dans votre tableau, puis chargez que

si vous voulez faire un traitement sur eux, vous pouvez également ouvrir le Bitmap et stocker que

modifier:

private int[] textureArrayWin = { 
R.drawable.star_00, 
R.drawable.star_01, 
R.drawable.star_02, 
}; 

et maintenant vous avez une table de l'id des images que vous voulez

+0

Salut, Ils sont dans le drawable-mdpi folder.Not ce que vous entendez en stockant la référence int dans mon tableau, puis le chargement that.Really savait android. – James

+0

Je vais ajouter du code si vous voulez (donner une seconde) –

+0

Ce n'était pas la question – philippe

3

Oui, vous pouvez créer un tableau de drawables. Alternativement, vous pouvez également créer un tableau d'ints qui correspondent à vos identifiants de ressources. Alors déposez vos images dans le dossier drawable qui leur donne des ID de ressources. Ensuite, lorsque vous souhaitez charger une image et dessiner à votre imageview, vous faites quelque chose comme ça à partir de votre activité. En supposant que "yourarray" est le tableau:

Drawable d = getResources().getDrawable(yourarray[n]); 

alors je crois que l'appel est setImageDrawable sur ImageView. Alors:

yourImageView.setImageDrawable(d); 
+0

Aller avec la solution alternative décrit par reververb. Vous n'avez pas à 'obtenir' le drawable, vous pouvez simplement définir l'ID de la ressource d'image sur la vue! http://developer.android.com/reference/android/widget/ImageView.html#setImageResource(int) –

0

Vous pouvez utiliser les ressources de drawable-mdpi et les stocker dans un tableau d'entiers comme

private static final Integer[] Icons = { 
    R.drawable.bg_android_icon, 
    R.drawable.bg_sunrise_icon, 
    R.drawable.bg_sunset_icon, 
    ...... 
}; 

Et vous pouvez l'utiliser dans une boucle avec Postion allant de 0 à icônes .length et mis à ImageView

ImageView.setBackground=getResources().getDrawable(Icons[Position]);