CEO或讓我們說我用一個if語句來解釋十個不同的可能按下按鈕即發送一個事件的價值的事件偵聽器:多個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;
}
難道是更有效地分類這些?說...一個onClick事件的陷阱,一個是低音,一個是hi帽子,這樣當按下按鈕時,程序不必通過每條if語句來計數,只有那個在偵聽器中的那個事件?
我更喜歡這種方式,10個不同的聽衆如此簡單似乎過分。如果所有其他行在找到該按鈕後都不進行評估,那麼您可以做其他操作。 –
但是這樣做,處理程序是否會在其他元素中調用'onTouch'事件? – Chopin