1

Webでいくつかのチュートリアルに出会ったことがあります。これらのチュートリアルでは、単純なメソッドを呼び出しています。必要なのは、コンテキストをパラメーターとして受け入れるメソッド「startDownload」を呼び出すことだけです。私は今それを呼んでいます:

Class<?> loaded = cl.loadClass("com.test.someclass");
Method m = loaded.getDeclaredMethod("startDownload", null);
m.invoke(this, null); 

ここで、c1はDexClassLoaderです。しかし、成功しません。NoSuchMethodExceptionのエラーが発生します。どこかにパラメータを追加する必要があることはわかっていますが、どこにあるのかわかりません...アドバイスはありますか?

ありがとう

4

1 に答える 1

2

その投稿を見ることをお勧めします。

パラメータは、ここでClass.getMethod(name, ...)説明するように、呼び出し時にメソッド名の後に渡されます。渡す必要があるのメンバーを直接使用できます。classClass

Method myMethod = myClass.getMethod("doSomethingWithAString", String.class);

それらのいくつかを忘れているかもしれません: 署名 (つまりパラメーター) が正しくない場合、メソッドは見つかりません。

于 2011-09-14T13:19:06.093 に答える