仮に、イベント値をイベントリスナーに送信する10の異なるボタンの押下を説明するために1つのifステートメントを使用しているとしましょう。
public boolean onTouch(int v) { //this is my only listener for all ten buttons
if(event.getAction() == MotionEvent.ACTION_DOWN){
if(v==button_one){pool.play(bass1, 1f,1f, 1, 0, 1f);}
if(v==button_two){pool.play(bass2, 1f,1f, 1, 0, 1f);}
if(v==button_three){pool.play(bass3, 1f,1f, 1, 0, 1f);}
if(v==button_four){pool.play(snare1, 1f,1f, 1, 0, 1f);}
if(v==button_five){pool.play(snare2, 1f,1f, 1, 0, 1f);}
if(v==button_six){pool.play(snare3, 1f,1f, 1, 0, 1f);}
if(v==button_seven){pool.play(hh1, 1f,1f, 1, 0, 1f);}
if(v==button_eight){pool.play(hh2, 1f,1f, 1, 0, 1f);}
}
return false;
}
これらを分類する方が効率的でしょうか?たとえば、スネア用に1つ、ベース用に1つ、ハイハット用に1つのonClickイベントがあるため、ボタンが押されたときにプログラムが各ifステートメントをカウントする必要はなく、発射されたリスナー内にあるものだけがカウントされます。イベント?