问题描述
|
我有一个很大的列表(比如说大约一千个)带有增量名称的.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的随机值时。我可以通过使用if和else检查myCounter的值数千次来做到这一点:
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)
解决方法
如何动态生成名称,例如
myBitmapField.setBitmap(Bitmap.getBitmapResource(\"a\" + myCounter + \".png\"));
如果您担心资源重复,可以先检查缓存。