将原始文件夹文件的uri存储到ArrayList <string> </string>中

时间:2014-03-14 12:40:54

标签: android arraylist uri android-imageview filenotfoundexception

我有120张图像,我已存储在原始文件夹中。我是故意这样做的。请不要建议我把这些放在drawable等等。要将每个文件的uri存储到Arraylist String,我使用了以下方式/方法。

private static void getRawFiles() throws IllegalAccessException, IllegalArgumentException{
        java.lang.reflect.Field[] fields = R.raw.class.getFields(); // fileds stores resid and 
        // loop for every file in raw folder

        if (uriCollection.isEmpty()){

        for (int count = 0; count < fields.length; count++) {
            String filename ="android.resource://" +HomeActivity.PACKAGE_NAME + "/"+"R.raw."+ "_"+count;


            uriCollection.add(filename);
            Log.i("fileUri",filename);


        }
        }

原始文件夹中的文件名以_0._01开头,依此类推。所以我从另一个classsetImageURI访问了此内容,以便在ImageView中显示图片。但我一直在跟踪错误以及应用程序停止

- resolvedUri failed on bad bitmap
- unable to open content; filenotfoundexception

如果您有任何想法或任何解决方案,或者您遇到过这样的问题,那么我想请求您的帮助。提前谢谢!

1 个答案:

答案 0 :(得分:1)

你可以使用Reource Ids吗?我通常这样做是为了动态获取文件。

在你的循环中 - 你必须决定如何生成imageName - 生成你的imageName并调用:

        String imageName = "_0.01";//OBSERVE it's not "_0.01.jpg"
        int resId = context.getResources().getIdentifier(imageName, "raw", context.getPackageName());
        aListOfResourceIDs.add(resId);