获取资产或原始文件夹中的多个图像的资源标识符(resId)到int数组

时间:2013-05-08 05:09:22

标签: android android-drawable android-assets

我有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文件夹吗?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

我得到了答案。

是的,我们可以做到。将图像复制到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

答案 1 :(得分:0)

有可能......但对你来说这不是一个好方法。您可以将图像放在Asset文件夹中 像这样See Here

但是如果你这样做可能会产生问题 Issues

所以现在由您决定如何使用它。 :)