0

Javaオブジェクトに「メソッドが見つかりません」「キャッチャー」を設定して、そのメソッドを持つ別のオブジェクトにメソッドを送信できるかどうかを調べようとしています。

それは他の言語でも可能ですが、Javaで似たようなものを見たことがありません。myObject。"methodName"(params);という形式の何かを実行できないためです。ただし、Javaを拡張するGroovyでは可能です。

私が達成したいのは、コンテンツが拡張されたカスタムビューオブジェクトのXMLレイアウトでandroid:onClickプロパティを使用することです。

これに伴う問題は、onClickプロパティが、カスタムビューではなく、親アクティビティでメソッドを検索することです。これにより、プログラムが失敗します。

カスタムビューでsetOnClickListener(this)を使用することをお勧めしますが、他の理由でそれを回避しようとしているため、あまりクリーンではありません。

誰かが代替案を知っていますか?

前もって感謝します!

4

1 に答える 1

0

バージョン 1.0 から Java でサポートされているリフレクションに興味があります。はい、次のような構文myObj."methodName"()はサポートされていません。

myObj.getClass().getMethod("myMethod").invoke(myObj).

詳細については、リフレクションを参照してください。

于 2011-11-15T18:43:36.917 に答える