3 回答

TA貢獻1865條經(jīng)驗 獲得超7個贊
在 Java 中,開關的 case 部分需要一個常量值。
Java 期望使用 getResources().getInteger(R.integer.readID),因為它是一個方法調用,值可能會在運行時更改。?
您可以使用 if、else if、else 結構。

TA貢獻1828條經(jīng)驗 獲得超6個贊
只需在單獨的文件(也許是 Constants.java)中將整數(shù)定義為靜態(tài)常量。
常數(shù)
public class Constants{
public static final int READ_ID = 0x11;
public static final int READ_REVISION = 0x22;
}
轉變
switch (cmd) {
case Constants.READ_ID:
break;
case Constants.READ_REVISION:
break;
}

TA貢獻1860條經(jīng)驗 獲得超8個贊
嘗試
private int getInt(@IntegerRes int res){
return context.getResources().getInteger(res);
}
例如:
switch (cmd) {
case getInt(R.integer.readID):
break;
case getInt(R.integer.readRevision):
Log.d(TAG, "case revision");
break;}
添加回答
舉報