2


Android プログラミングでのイベントの管理について、いくつかの情報をお聞きしたいと思います。
Java では、イベントが発生すると、Event オブジェクトのインスタンスが作成され、それを実装するリスナー クラスのメソッドに渡されます。Android では、リスナー クラスのすべてのメソッドがパラメーターとして View インスタンスを必要とすることに気付きました。最初の質問は次のとおりです。
私が遭遇した2番目の疑問は、次のhttp://developer.android.com/training/basics/firstapp/starting-activity.htmlを読むことでした、ここでは属性 android:onClick を使用して、クリックイベントが発生したときに実行するメソッドを指定できますが、問題は次のとおりです:なぜメソッドを指定する必要があるのですか? リスナーを実装し、その特定のイベントを管理する特定のメソッド内にあるクラスを示すべきではありませんか?

4

2 に答える 2

1

Android はコールバックのシステムを使用して、これらの種類のイベント (クリック、タッチなど) を管理します。

たとえば、ボタンをクリックするbtnMyButtonと、フレームワークはそれにアタッチされているかどうかを確認し、OnClickListenerアタッチされている場合はそのonClick()メソッドを実行します。

通常、リスナー メソッドは引数を取るためView、複数の に対して同じインスタンスを使用Viewsし、影響を受けるビューに応じて動作を適応させることができます (通常は を使用View.getId()) 。

これandroid:onClickは、小さなアプリに便利な単なる XML ショートカットです。より大きなアプリケーションの場合、代わりに使用する方が明確でエラーが発生しにくいと思いますView.setOnClickListener()

于 2013-06-07T23:16:51.760 に答える