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;
    }

你可能感兴趣的:(android)