假设我说我使用一个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;
}
Run Code Online (Sandbox Code Playgroud)
将这些分类更有效率吗?说...一个用于陷阱的onClick事件和一个用于低音的onClick和一个用于嗨帽子的事件,这样当按下一个按钮时,程序不必计算每个if语句,只有一个是在被调用者的监听器内事件?