我使用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之前,相同的代碼正常工作。
如果您在庫中,則必須將所有開關/ 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