web-dev-qa-db-ja.com

Androidのビューに複数のリスナーをアタッチしますか?

Androidのボタンに複数のonClickリスナーを添付することは可能ですか?例:

btn1.setOnClickListener(listener1);
btn1.setOnCliclListener(listener2);

そして、ボタンがクリックされると、両方のonClickイベントlistener1およびlistener2トリガーされますか?

通常のGUIアプリケーションでは、1つのイベントに複数のイベントハンドラーをアタッチできることを知っています。 Androidでも可能ですか、それとも制限がありますか?

よろしく、ラリス

30
Lalith

Androidは、通常、1つの登録済みリスナーのみをサポートします。ただし、複合パターンを使用してイベントを他のリスナーに転送するだけのリスナーを簡単に作成できます。

37
CommonsWare
public void onClick(View v) {
    if(v.getId() == R.id.button1) {
        // do this
    }else if(v.getId() == R.id.button2) {
        // do that
    }
}
1
Mike