Android用反射方式获取本地资源

2020-11-24  本文已影响0人  小玉1991

(1)Android 的API:getIdentifier


int resID = resources.getIdentifier(listIcon, "drawable", context.getPackageName());
int resourceId = context.getResources().getIdentifier("navigation_bar_height", "dimen", "android");


(2) 另一种方式--反射

public static Integer getIconResId(String key) {
        try {
            String name = key ;
            Field field = R.drawable.class.getField(name);
            return field.getInt(null);
        } catch (SecurityException e) {
        } catch (NoSuchFieldException e) {
        } catch (IllegalAccessException e) {
        }
        return -1;
    }
上一篇下一篇

猜你喜欢

热点阅读