我正在使用Android中的一个简单应用,我想加载“drawable-nodpi”文件夹中包含的所有图像。我试过使用这段代码:
public static void load() {
Field[] ID_Fields = R.drawable.class.getFields();
int[] resArray = new int[ID_Fields.length];
for(int i = 0; i < ID_Fields.length; i++) {
try {
resArray[i] = ID_Fields[i].getInt(null);
//System.out.println(ID_Fields[i].getName());
} catch (...) {...}
}
}
但是R.drawable.class.getFields()
我无法选择“drawable-nodpi”文件夹。有一种简单的方法可以做到吗?
我的minSdkVersion是14
答案 0 :(得分:0)
仅提供最后使用的解决方案,这是我的代码:
public static void loadAll() { //called in the app creation phase
HashMap<String, Integer> tmpHM=new HashMap<>();
Field[] ID_Fields = R.drawable.class.getFields();
for(int i = 0; i < ID_Fields.length; i++) {
try {
tmpHM.put( ID_Fields[i].getName(), ID_Fields[i].getInt(null));
} catch (IllegalAccessException e) {
}catch (IllegalArgumentException e) { }
}
database_img= new HashMap<>();
String[] tmp=Texts.getNamesImg();
for(String s:tmp){
database_img.put(s, loadImg(tmpHM.get(s)) );
}
//System.out.println("DATABASE: "+database_img.toString());
}
private static Bitmap loadImg(int id){
bp=BitmapFactory.decodeResource(context.getResources(),id, null);
return bp;
}
当我想要一个特定的图像时,可以使用存储在静态类“文本”中的名称找到它:
public static Bitmap getImage(String s){ //For example getImage(Texts.LOGO)
return database_img.get(s);
}