有什麼方法可以迭代整個 R.raw,R.drawable 或者任何 R 類嗎?我想通過 iterate 動態的來逐條獲取這些文件夾的每一個id。
ArrayList resArray = new ArrayList();
foreach(int id : R.raw) {
resArray.add(id);
}
有什麼方法可以實現?
用反射
public void field(){
Field[] fields =R.drawable.class.getFields();
for(Field f : fields){
try {
Log.d("reflect", "字段名: "+f.getName()+" 值: "+f.getInt(f));
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
03-12 17:41:53.444: D/reflect(15356): 字段名: answer_box 值: 2130837504
03-12 17:41:53.452: D/reflect(15356): 字段名: answer_box_alt 值: 2130837505
03-12 17:41:53.452: D/reflect(15356): 字段名: app_ico_48 值: 2130837506
03-12 17:41:53.452: D/reflect(15356): 字段名: app_ico_72 值: 2130837507
03-12 17:41:53.452: D/reflect(15356): 字段名: background 值: 2130837508
03-12 17:41:53.452: D/reflect(15356): 字段名: button_normal 值: 2130837509
雖然可以做到 但還是奉勸:不要動他