我有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
开头,依此类推。所以我从另一个class
和setImageURI
访问了此内容,以便在ImageView
中显示图片。但我一直在跟踪错误以及应用程序停止
- resolvedUri failed on bad bitmap
- unable to open content; filenotfoundexception
如果您有任何想法或任何解决方案,或者您遇到过这样的问题,那么我想请求您的帮助。提前谢谢!
答案 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);