今天看到這樣一個問題:
如何將下面這一段Android代碼優化成一句代碼實現。
if (gridnumber == 0) {
gsmsignal.setImageResource(R.drawable.gsmsignal_2);
} else if (gridnumber == 1) {
gsmsignal.setImageResource(R.drawable.gsmsignal_3);
} else if (gridnumber == 2) {
gsmsignal.setImageResource(R.drawable.gsmsignal_4);
} else if (gridnumber == 3) {
gsmsignal.setImageResource(R.drawable.gsmsignal_5);
} else if (gridnumber == 4) {
gsmsignal.setImageResource(R.drawable.gsmsignal_6);
} else if (gridnumber == 5) {
gsmsignal.setImageResource(R.drawable.gsmsignal_7);
} else if (gridnumber == 6) {
gsmsignal.setImageResource(R.drawable.gsmsignal_8);
} else {
gsmsignal.setImageResource(R.drawable.gsmsignal_1);
}
一般情況下,大家都會習慣性的使用Switch case 或者是if else 。
不過試着用另外一種方式寫,是不是應該會好一點呢:
int[] res = new int[]{.......};//資源id 如: R.drawable.gsmsignal_1
gsmsignal.setImageResource(res[gridnumber]);
這樣的話減少了不必要的代碼,缺點就是資源文件已經寫死。
一記。。。