2017-01-27 2 views
0

Ich habe 35 Bilder von pic1.png bis pic35.png in meinem Ordner res\drawable benannt. Ich muss ein Array dieser Bilder erstellen, um meine ListView zu füllen. Ich weiß, ich brauche eine Schleife.Bilderverwaltung, Array von Bildern

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]; 
     } 

Noch eine Frage: ist es eine Chance, meine Bilder in drawable Ordner zu verwalten? Ich meine, wenn ich zwei Bilderpakete habe, kann ich res\drawable\pack1 und res\drawable\pack2 Ordner nicht tun, ist die einzige Möglichkeit, Bilder zu verwalten, um em Namen wie pack1_pic1 usw. zu geben?

+0

Sie können string name ziehbar bekommen. Siehe hier: http://stackoverflow.com/questions/4427608/android-getting-resource-id-from-string – eleven

Antwort

1

Antwort auf Ihre erste Frage:

können Sie Bild-ID auf Ihre int-Array festgelegt werden:

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

, die den Wert von R.drawable.pic1...35;

zurückkehren

In Bezug auf Ihre zweite Frage

Nein, die Ressourcen Mechanismus nicht im ziehbar Verzeichnis unterstützen Unterordner

sehen: Answer

1

Versuchen Sie, diese

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