在将自己写的工具打成.jar包的时候,有时候会需要引用到res中的资源,这时候不能将资源一起打包,只能通过反射机制动态的获取资源.
/** * 反射得到组件的id号 */ public static int getCompentID(String packageName, String className,String idName) { int id = 0; try { Class<?> cls = Class.forName(packageName + ".R$" + className); id = cls.getField(idName).getInt(cls); } catch (Exception e) { LogUtil.LogPrint(LogUtil.LOG_ERROR, "缺少" + idName + "文件!"); e.printStackTrace(); } return id; }
关注微信公众号,最新技术实时推送
转载请注明:尼古拉斯.赵四 » Android中通过反射获取资源Id(特别用在自己定义一个工具将其打成.jar包时,特别注意资源的获取)