3 回答
TA贡献1865条经验 获得超7个赞
在 Java 中,开关的 case 部分需要一个常量值。
Java 期望使用 getResources().getInteger(R.integer.readID),因为它是一个方法调用,值可能会在运行时更改。
您可以使用 if、else if、else 结构。
TA贡献1828条经验 获得超6个赞
只需在单独的文件(也许是 Constants.java)中将整数定义为静态常量。
常数
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条经验 获得超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;}
添加回答
举报