我有100多个图像加载到listView
,我试图将所有的resId
存储到int[]
中。我可以通过使用下面的代码
drawable
完成它Field[] ID_Fields = R.drawable.class.getFields();
resArray = new int[ID_Fields.length];
for(int i = 0; i < ID_Fields.length; i++)
{
try {
resArray[i] = ID_Fields[i].getInt(null);
} catch (IllegalArgumentException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
但我的问题是,我不需要drawable
文件夹中的所有图像为我的listView
。所以我可以在asset
中创建一个文件夹,并将所有resId
放入int[]
中吗?或者我可以使用raw
文件夹吗?
我知道答案了。
是的,我们能做到。复制图像到res/raw
文件夹,并尝试使用以下代码
Field[] ID_Fields = R.raw.class.getFields();
resArray = new int[ID_Fields.length];
for(int i = 0; i < ID_Fields.length; i++)
{
try {
resArray[i]= ID_Fields[i].getInt(null);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
之后,resArray包含raw
文件夹中图像的resId
这是可能的,但这对你来说不是一个好方法。您可以将图像放在资产文件夹中像这样看这里
但是如果你这样做,可能会产生问题问题
现在就看你怎么用了。:)