我的res\drawable文件夹中有35张图片,名为from pic1.png to pic35.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\pack1和res\drawable\pack2文件夹,管理图像的唯一方法是给它们命名,如pack1_pic1等吗?
发布于 2017-01-27 19:48:29
回答你的第一个问题:
您可以使用以下命令将image id设置为int数组:
int[] img;
for (int i = 1; i <= 35; i++) {
img[i] = getResources().getIdentifier("pic"+i, "drawable", getPackageName());
}它将返回R.drawable.pic1...35;的值
关于你的第二个问题
不,资源机制不支持可绘制目录中的子文件夹,
看看这个:Answer
发布于 2017-01-27 19:11:27
尝尝这个
for (int i = 1; i <= 35; i++) {
Drawable drawable = getResources().getDrawable(getResources()
.getIdentifier("pic"+i, "drawable", getPackageName()));
}https://stackoverflow.com/questions/41892293
复制相似问题