对于 Android 新手,如果这是一个简单的问题,我深表歉意。
我正在尝试在 XML 中使用基于字符串资源的开关。它看起来像这样:
switch (myStringVariable) {
case getResources().getString(R.string.first_string):
break;
case getResources().getString(R.string.second_string):
break;
case getResources().getString(R.string.third_string):
break;
default:
break;
}
不幸的是,这行不通。我得到的错误是“需要常量表达式”。
有没有一种半优雅的方法来解决这个问题,而不必执行诸如创建 3 个 String 对象并将字符串资源分配给每个对象之类的操作?我觉得我错过了一些明显的东西,所以任何帮助都会很棒!
谢谢 :)
嗯,首先,Android所基于的Java版本不支持String switch语句,所以一般你必须使用if/else
而是块。
EDIT:如果您使用 JDK 1.7 及更高版本,则支持字符串 switch 语句
我不确定你的用例是什么,但如果你有资源 IDmyStringVariable
,这是一个int
,你可以进行切换:
switch (myStringResId) {
case R.string.first_string:
break;
case R.string.second_string:
break;
case R.string.third_string:
break;
default:
break;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)