有没有办法迭代R.raw或R.drawable或任何R类?我想动态地获取该文件夹上的每个id。
ArrayList resArray = new ArrayList();
foreach(int id : R.raw) {
resArray.add(id);
}
还是有其他方法吗?
答案 0 :(得分:7)
您可以使用java反射执行此操作:
Class raw = R.raw.class;
Field[] fields = raw.getFields();
for (Field field : fields) {
try {
Log.i("REFLECTION",
String.format("%s is %d", field.getName(), field.getInt(null)));
} catch(IllegalAccessException e) {
Log.e("REFLECTION", String.format("%s threw IllegalAccessException.",
field.getName()));
}
}