使用数组表示R.drawable'地址(java)

时间:2015-06-08 10:32:37

标签: java android arrays

请告诉我如何写一个文件夹的路径" R.drawable"有阵列?例如,对于应用程序的文件夹,我以这种方式编写路径:

for (int i = 0; i < 21;) {
    pic[i] = BitmapFactory.decodeFile("/data/data/app.myapp/pic" + Integer.toString(i) + ".png")
}

但是如何从文件夹R.drawable获取名称为pic1,pic2,pic3等的位图?这不对:

for (int i = 0; i < 21;) {
    picBitmap[i] = BitmapFactory.decodeResource(gameContext.getResources(), R.drawable.pic[i]); 
}

2 个答案:

答案 0 :(得分:1)

创建一个整数数组

int d[] = {R.drawable.pic1, R.drawable.pic2, ..}

for (int i=0; i<d.length(); i++) {
        picBitmap[i] = BitmapFactory.decodeResource(gameContext.getResources(), d[i]); 
}

答案 1 :(得分:1)

您的i永远不会更新,因此您将拥有无限循环。此外,您必须创建一个int[]数组来存储drawables

int[] drawables = {R.drawable.pic1, R.drawable.pic2, ..}


for (int i=0; i<21; i++) {
//                  ↑ you should update i!!!
    picBitmap[i] = BitmapFactory.decodeResource(gameContext.getResources(), drawables [i]);  
}

我还建议使用length数组的picBitmap属性:

for (int i=0; i<picBitmap.length; i++) {