1. 程式人生 > >Android 根據圖片資原始檔名獲取資源Id 的方法

Android 根據圖片資原始檔名獲取資源Id 的方法

一 .第一種方法 name 為檔名(不帶字尾名) .

   private int getDrawableRes(Context context, String name) {
        String packageName = context.getPackageName();
        return context.getResources().getIdentifier(name, "drawable", packageName);
    }

二 .也可以通過反射 imgName 為檔名(不帶字尾名) .

   public int getDrawableResByReflect(String imgName) {
        Class drawable = R.drawable.class;
        Field field;
        int r_id;
        try {
            field = drawable.getField(imgName);
            r_id = field.getInt(field.getName());
        } catch (Exception e) {
            r_id = R.drawable.ic_add_chord;
        }
        KLog.d(r_id);
        return r_id;
    }