Скажем, у меня есть метод, который я желаю, чтобы позвонить, которая имеет аргумент строкиJava/Android метод вызова из строки со значением
Чтобы позвонить, я хотел бы сделать что-то вроде этого .. туРипсЫоп (stringValue);
сейчас, как бы я сделать то же вызов, но динамически, если бы я была строка со значением «MYFUNCTION» ..
что-то вроде
method = [convert "myFunction" string to method];
method.invoke(stringValue);
Я сейчас пытаюсь что-то вроде
java.lang.reflect.Method method;
method = Class.forName("com.blah.MyActivity").getMethod('myFunction',String.class);
method.invoke (stringValue);
но получаю ошибку IllegalArgumentException Сообщение ожидается приемник типа com.blah.MyActivity, но получил java.lang.String
@ user353877, вы должны изучить [** это **] (http://stackoverflow.com/posts/11250396/revisions) и понять, как были сделаны изменения. –
вам нужно передать свой экземпляр в качестве первого аргумента. Я считаю, что метод method.invoke (instance, stringValue) ' – nielsbot
извините за плохой заголовок, когда я решил отредактировать вопрос и сделать его код правильным, я ошибочно изменил заголовок, в отличие от того, что я редактировал о вопросе – user353877