讓我們想象一下一個簡單的結構:如何降低一個onClick()方法中圈複雜度
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_first: {
// some code
}
break;
case R.id.btn_second: {
// some code
}
break;
case R.id.btn_third: {
// some code
}
break;
// and so on
}
}
這是處理不同的按鈕點擊代碼微不足道的一塊。但隨着按鈕數量的增加 - switch
塊的圈複雜度隨之增加。有沒有另外一種方法來表示這種代碼結構,以減少onClick()
方法的圈複雜度?提前致謝。
不,沒有其他的可能性 – Blood
選項1:每個按鈕使用一個點擊處理程序。選項2:將組按鈕轉換爲點擊處理程序,並使用短開關語句的幾個點擊處理程序。選項3:將點擊處理委託給視圖(請參閱下面的Ryan Stewart答案)。 – DwB