开关 - 大小写表达式必须是常量表达式
我使用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之前,相同的代码正常工作。
我用if/else
取代switch/case
声明。如果您在Eclipse中,只需点击switch
,然后按CTRL+1
即可。
它的一个很好的答案...! – 2014-03-23 08:08:31
哇!我不知道这个快捷方式 如果您知道我可以检查的任何其他快捷方式或网站,请让我知道。谢谢 – 2015-11-06 10:36:13
发布作为回答萨姆劝:
如果你是在一个库中,你必须改变所有的开关/ case语句来如果来自ADT版本/ else块14
参见:
开关盒缺少关闭“}”。
切换从switch
/case
声明if
/for
,只需使用ALT +在的Android工作室进入。
如果您在库中,则必须将所有开关/ case语句更改为来自ADT版本14的if/else块。请参阅:http://tools.android.com/tips/non-constant-fields – dmaxi 2013-02-13 16:44:00
谢谢,它与if/else一起工作。 – domen 2013-02-13 16:46:48
@dmaxi你应该发布这个答案,并得到它的信贷。 – Sam 2013-02-13 16:49:25