当点击特定的菜单项时,我使用ActionBarSherlock,然后使用onOptionsItemSelected来启动一个新的活动。代码在添加ABS之前工作正常,现在我在case上得到case expressions must be constant expressions错误。
@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之前,相同的代码运行良好。
发布于 2013-02-14 00:54:42
我已经用if/else替换了switch/case语句。如果在switch中,只需单击Eclipse,然后按CTRL+1即可。
发布于 2013-02-14 00:55:08
正如Sam建议的那样,作为答案发布:
如果您在库中,则必须将ADT版本14中的所有switch/case语句更改为if/else块。
请参见:
tools.android.com/tips/non-constant-fields
发布于 2015-07-12 13:38:51
切换盒缺少闭合"}“。
https://stackoverflow.com/questions/14858328
复制相似问题