Как случайным образом выбрать из списка переменных (растровые изображения) с инкрементными именами, используя итератор и / или цикл?(Ява, ежевика, BB) - PullRequest
0 голосов
/ 15 июня 2011

У меня большой список (скажем, около тысячи) растровых изображений .png с добавочными именами:

_image1 = Bitmap.getBitmapResource("a1.png");
_image2 = Bitmap.getBitmapResource("a2.png"); 
_image3 = Bitmap.getBitmapResource("a3.png");
  ...
_image999 = Bitmap.getBitmapResource("a999.png");
_image1000 = Bitmap.getBitmapResource("a1000.png");

Мне нужен код, чтобы выбрать одно растровое изображение и присоединить его к BitmapField myBitmapField , когда целое число myCounter получает случайное значение от 1 до 1000. Я мог бы сделать это, проверив значение myCounter тысячу раз, используя , если и else :

if (myCounter == 1)
   myBitmapField.setBitmap(_image1);
else if (myCounter == 2)
   myBitmapField.setBitmap(_image2);
else if (myCounter == 3)
   myBitmapField.setBitmap(_image3);
  ...
else if (myCounter == 1000)
   myBitmapField.setBitmap(_image1000);

Но это был бы очень длинный код.Есть ли способ сделать это, используя Loop и / или Iterator ?Примерно так:

int i = 0;
while (i < 1000) 
 { 
   i = i + 1;
   if (myCounter == i)
    myBitmapField.setBitmap(_image[i]); 
 }

Есть ли простой и короткий способ сделать это?Большое спасибо за помощь!(Java для ежевики)

1 Ответ

2 голосов
/ 15 июня 2011

Как насчет динамической генерации имени, например

myBitmapField.setBitmap(Bitmap.getBitmapResource("a" + myCounter + ".png"));

Если вас беспокоит дублирование ресурсов, вы можете сначала проверить кеш.

...