0

私は Android フレームワークをよりよく理解しようとしているので、実際には 1 つのボタンだけで構成される単純なアプリを作成しました。このボタンがクリックされるたびに、 で呼び出されるメソッドsendMessageMainActivity新しいアクティビティDisplayMessageActivityを開始し、ランダムな文字列を表示します。

私の質問は、(レイアウトonClickで定義された) ボタンのイベントが特にどのように機能するかということです! XMLボタンをクリックするたびに、私が定義したメソッド ( android:onClick="sendMessage") が呼び出されることは理解していますが、最終的にどのメソッドが私のメソッドを呼び出すのか非常に興味があります。

アンドロガードを使用してAPKファイルをsmalicodeに逆コンパイルし、sendMessageメソッドの呼び出しを検索しました。残念ながら何も見つかりませんでした。

この投稿によると、このメカニズムがどのように機能するかを誰かに説明してもらえますか:

android:onClick XML 属性は setOnClickListener とどのように異なりますか?

onClick最後に私のメソッドを呼び出すメソッドが実際にあるはずです。

4

1 に答える 1

1

それは反射によって行われます。

誰がメソッドを呼び出しているかを正確に知りたい場合は、例外をスローしてスタック トレースを調べます。

于 2013-11-13T23:40:18.613 に答える