我正在使用ActionBarSherlock,然后onOptionsItemSelected
在单击特定菜单项时启动新活动。在添加ABS之前,代码工作正常,现在我在case expressions must be constant expressions
上收到case
错误。
@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之前,相同的代码工作正常。
答案 0 :(得分:15)
我已将switch/case
语句替换为if/else
。您只需点击switch
,然后按CTRL+1
,如果您在Eclipse中。
答案 1 :(得分:12)
作为答案发布,Sam建议:
如果您在库中,则必须将所有switch / case语句从ADT版本14更改为if / else块。
见:
答案 2 :(得分:1)
要从switch
/ case
语句切换到if
/ for
,只需使用 alt + 输入在android studio中。
答案 3 :(得分:-1)
切换案例缺少结束"}"。