2017-01-27 61 views
0

我有我的res\drawable文件夹中的35个图像,从pic1.pngpic35.png。我需要创建这个图片的数组来填充我的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\pack1res\drawable\pack2文件夹,管理图像的唯一方法是给出em名称,如pack1_pic1等?

+0

你可以通过字符串名称绘制。看到这里:http://stackoverflow.com/questions/4427608/android-getting-resource-id-from-string – eleven

回答

1

回答你的第一个问题:

可以图片ID设为您的int数组使用:

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())); 
}