1

動的に呼び出そうとするメソッドがあります。そのメソッドには引数「stringValue」があります。私が呼び出そうとしているメソッドは、親 (レシーバー??) クラスにあります。参照を親に戻す方法がわかりません

java.lang.reflect.Method method;
method = Class.forName("com.blah.MyActivity").getMethod("myFunction", String.class);
method.invoke(this,stringValue); 

エラーが表示されます:
「メッセージはタイプ com.blah.MyActivity の受信者を予期していましたが、com.blah.MyActivity$SubTask を取得しました」

4

1 に答える 1

2

私はあなたが欲しいと思う:

method.invoke(MyActivity.this, stringValue);

部分は、のMyActivity.this外側のインスタンスに到達する方法ですMyActivity

詳細については、JLS のセクション 15.8.4 を参照してください。

于 2012-06-28T18:39:35.837 に答える