Android中通过反射获取资源Id(特别用在自己定义一个工具将其打成.jar包时,特别注意资源的获取)

在将自己写的工具打成.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;
}


posted @ 2013-11-16 11:33  roccheung  阅读(297)  评论(0编辑  收藏  举报