2017-01-27 6 views
0

У меня 35 изображений с pic1.png по pic35.png в моей папке res\drawable. Мне нужно создать массив этих фотографий, чтобы заполнить мой ListView. Я знаю, мне нужна петля. болееУправление изображениями, массив изображений

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

Один вопрос: есть ли шанс управлять своими изображения в папке drawable? Я имею в виду, если у меня есть две упаковки изображений, я не могу делать res\drawable\pack1 и res\drawable\pack2 папки, это единственный способ управлять изображениями, чтобы дать им имена, такие как pack1_pic1 и т. Д.?

+0

Вы можете получить вытяжку по имени строки. См. Здесь: http://stackoverflow.com/questions/4427608/android-getting-resource-id-from-string – eleven

ответ

1

Ответ на ваш первый вопрос:

вы можете установить идентификатор изображения на свой целочисленный массив с помощью:

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

, который будет возвращать значение R.drawable.pic1...35;

Относительно вашего второго вопроса

Нет, механизм ресурсов не поддерживает вложенные папки в вытяжке каталога,

увидеть это: Answer

1

Попробуйте

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