我在网上见过一些教程,它们调用简单的方法,我所需要的就是调用接受上下文作为参数的方法"startDownload“。我现在叫它:
Class<?> loaded = cl.loadClass("com.test.someclass");
Method m = loaded.getDeclaredMethod("startDownload", null);
m.invoke(this, null); 其中c1是DexClassLoader。但没有成功。我得到了错误的NoSuchMethodException,我知道我必须添加参数某处,但不知道在哪里…有什么建议吗?
谢谢
发布于 2011-09-14 21:19:06
我建议你看看that post。
如here所述,在调用Class.getMethod(name, ...)时,参数被传递到方法名之后。您可以直接使用您必须传递的Class的class成员:
Method myMethod = myClass.getMethod("doSomethingWithAString", String.class);也许你忘记了其中的一些:如果签名(所以参数)不正确,方法就不会被找到。
https://stackoverflow.com/questions/7416846
复制相似问题