Android開発爆笑記

レセプターのソフト&ハード開発備忘録

複数ボタンのOnClickListener記述

○記述例.1
class MyClickAdapter implements OnClickListener (
    public void onClick(View v){
        switch(v.getId()){
        case R.id.button1:
            処理1
            break;
        case R.id.button2:
            処理2
            break;
        }
    }
}

MyClickAdapter myClickListener = new MyClickAdapter;
Button btn1 = (Button) findViewById( R.id.button1 );
btn1.setOnClickListener( myClickListener );
Button btn2 = (Button) findViewById( R.id.button2 );
btn2.setOnClickListener( myClickListener );
-----

○記述例.2

記述場所OnCreate内
OnClickListener button1ClickListener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        処理1
    }
};
findViewById(R.id.button1).setOnClickListener(button1ClickListener);
OnClickListener button2ClickListener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        処理2
    }
};

findViewById(R.id.button2).setOnClickListener(button2ClickListener);

ついでに長押しも指定

OnLongClickListener button1LongClick = new View.OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {
        処理3
        return true;←ここ大事
    }
};
findViewById(R.id.button1).setOnLongClickListener(button1OptionLongClick);