Android 开关大小写表达式必须是常量表达式
我正在使用ActionBarSherlock,然后在单击特定菜单项时使用选项项Selected来启动新活动。代码在添加ABS之前工作正常,现在我得到Android 开关大小写表达式必须是常量表达式,android,actionbarsherlock,Android,Actionbarsherlock,我正在使用ActionBarSherlock,然后在单击特定菜单项时使用选项项Selected来启动新活动。代码在添加ABS之前工作正常,现在我得到case表达式必须是常量表达式error oncase @Override public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) { switch (item.getItemId()) { case
case表达式必须是常量表达式error oncase
@Override
public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item)
{
switch (item.getItemId()) {
case R.id.about: //error
startActivity(new Intent(this, AboutActivity.class));
break;
case R.id.feedback: //error
//launch activity
break;
default:
break;
return super.onOptionsItemSelected(item);
}
在添加ActionBarSherlock之前,相同的代码运行良好。我已经用if/else
替换了switch/case
语句。如果您在Eclipse中,只需单击开关
,然后按CTRL+1
。作为Sam建议的答案发布:
如果您在库中,则必须将所有switch/case语句从ADT版本14更改为If/else块
见:
切换案例缺少关闭“}”。要从切换
/案例
语句切换到如果
/,只需在android studio中使用alt+enter即可。如果您在库中,则必须将ADT版本14中的所有切换/案例语句更改为if/else块。请参阅:谢谢,它与if/else一起工作。@dmaxi您应该将此作为答案发布,并为此获得积分。这是一个很好的答案。。。!哇!!我不知道这个快捷方式,如果你知道我可以查看的其他快捷方式或站点,请告诉我。谢谢