-4

なぜこれらのパラメータをsetOnClickListenerメソッドに渡すのですか?

Plzは詳細に説明しますか?

Button button = (Button) findViewById(R.id.button_send);
button.setOnClickListener(new View.OnClickListener() {
     public void onClick(View v) {
          // Do something in response to button click
     }
});    
4

2 に答える 2

1

実際には、これらはパラメータではありません。Java をよく知っている場合は、聞いたことがあるかもしれませんAnonymous Inner Classes。したがって、実装するだけで、まさに必要なものを実現できますonClickListener

button.setOnClickListener(this);これをコードのパラメーターとして渡しOverrideonClickメソッドを実行します。

于 2013-02-22T11:29:11.753 に答える
1

button.setOnClickListener実際には、匿名クラスを実装OnClickListener.する匿名内部クラスを作成しています。匿名クラスは、new 演算子を使用して単一の簡潔な式で定義およびインスタンス化されます。単純なデリゲート コールバック オブジェクトを作成するために使用されます。これらの匿名の内部クラスは、囲んでいる外部クラスの静的変数とインスタンス変数にアクセスできます。

詳しくはリンク先をご確認ください。

于 2013-02-22T11:32:58.043 に答える