DexClassLoader - вызвать метод с параметром - PullRequest
1 голос
/ 14 сентября 2011

Я встречал некоторые учебные материалы в Интернете, которые вызывают простые методы, и все, что мне нужно, это вызвать метод "startDownload", который принимает Context в качестве параметра. Я сейчас называю это:

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

, где c1 - DexClassLoader. Но безуспешно. Я получаю ошибку NoSuchMethodException, я знаю, что должен где-то добавить параметры, но не знаю, где ... какие-либо советы?

Спасибо

1 Ответ

2 голосов
/ 14 сентября 2011

Предлагаю посмотреть этот пост .

Параметры передаются после имени метода при вызове Class.getMethod(name, ...), как описано здесь . Вы можете напрямую использовать class член Class, который вам необходимо передать:

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

Возможно, вы забыли некоторые из них: метод не будет найден, если подпись (поэтому параметры) неверны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...