我在Android2.2SDK上,无法在MultiUserChat类中执行静态代码块。我曾尝试将其强制加载为
try
{
String qual = MultiUserChat.class.getName();
ClassLoader.getSystemClassLoader().loadClass(qual);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}并且它总是命中catch块。‘'qual’获取类的有效名称...那会是什么呢?
发布于 2012-01-15 22:11:23
您的应用程序包括ArrayList和Activity等框架类,以及FlashlightActivity等应用程序类。框架类由系统类加载器(以及引导类loader )加载;应用程序类由应用程序类加载器加载。
系统类加载器只能看到系统类。它不知道应用程序类的路径,也不能用来加载应用程序类。您需要使用应用程序类加载器来执行此操作。获取对应用程序类加载器的引用的最简单方法是通过应用程序类:
try {
String qual = MultiUserChat.class.getName();
MyActivity.class.getClassLoader().loadClass(qual);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}https://stackoverflow.com/questions/8868151
复制相似问题