程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-有什麼方法可以迭代整個 R.raw,R.drawable 或者任何 R 類嗎?

android-有什麼方法可以迭代整個 R.raw,R.drawable 或者任何 R 類嗎?

編輯:編程綜合問答
有什麼方法可以迭代整個 R.raw,R.drawable 或者任何 R 類嗎?

有什麼方法可以迭代整個 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

雖然可以做到 但還是奉勸:不要動他

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved