是否有更好的方法來做到這一點:Android,通過字符串獲取資源ID?
int drawable;
switch(mSignalStrength) {
case 0:
drawable = R.drawable.signal_0;
break;
case 1:
drawable = R.drawable.signal_1;
break;
case 2:
drawable = R.drawable.signal_2;
break;
case 3:
drawable = R.drawable.signal_3;
break;
case 4:
drawable = R.drawable.signal_4;
break;
case 5:
drawable = R.drawable.signal_5;
break;
default:
drawable = -1;
}
我想更換一些int getDrawableIdByString("signal_" + mSignalStrength)
功能switch語句。
問題在於 – warlock
使用反射:'getIdentifier()'。您可以通過傳遞其名稱來返回資源ID。 –
@warlock我得到了相同的代碼重複了6次,爲不同的信號強度值。這很醜陋。 – fadedbee