2017-01-27 2 views
0

J'ai 35 images nommées de pic1.png à pic35.png dans mon dossier res\drawable. J'ai besoin de créer un tableau de cette image pour remplir mon ListView. Je sais que j'ai besoin d'une boucle.Gestion des images, tableau d'images

int[] img; 
for (int i = 1; i <= 35; i++) { 
      //here should be my loop body, but i dunno :(i tried this, but ofc this is wrong. 
      img = R.drawable.pic[i]; 
     } 

Une autre question: est-il possible de gérer mes images dans le dossier drawable? Je veux dire, si j'ai deux paquets d'images, je ne peux pas faire res\drawable\pack1 et res\drawable\pack2 dossiers, est le seul moyen de gérer les images pour donner des noms comme pack1_pic1 etc?

+0

Vous pouvez obtenir drawable par nom de chaîne. Voir ici: http://stackoverflow.com/questions/4427608/android-getting-resource-id-from-string – eleven

Répondre

1

réponse à votre première question:

vous pouvez définir id d'image à votre tableau int en utilisant:

int[] img; 
for (int i = 1; i <= 35; i++) { 
      img[i] = getResources().getIdentifier("pic"+i, "drawable", getPackageName()); 
     } 

qui renvoie la valeur de R.drawable.pic1...35;

Concernant votre deuxième question

Non, le mécanisme des ressources ne prend pas en charge les sous-dossiers dans le répertoire drawable,

voir ceci: Answer

1

Essayez cette

for (int i = 1; i <= 35; i++) { 
    Drawable drawable = getResources().getDrawable(getResources() 
        .getIdentifier("pic"+i, "drawable", getPackageName())); 
}