我有這種類型的代碼開關/箱與R.id.XXXX Android中不起作用
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_sign_out_all:
doHardShutdown();
return true;
case R.id.menu_add_account:
// showExistingAccountListDialog();
return true;
case R.id.menu_settings:
Intent sintent = new Intent(this, SettingActivity.class);
startActivityForResult(sintent,0);
return true;
case R.id.menu_import_keys:
importKeyStore();
return true;
// case R.id.menu_exit:
// signOutAndKillProcess();
// return true;
}
return super.onOptionsItemSelected(item);
}
它發生在所有的代碼,其中一些開關/箱的問題。 在每個:
case R.id.XXX
日食返回我一個錯誤:「CASE表達式必須是常量表達式」
然後我試圖刪除R.java,清潔,再生,但沒有工作。 我該如何解決它?的XML的
那部分:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_add_account"
android:title="@string/menu_add_account"
android:icon="@android:drawable/ic_menu_add"
app:showAsAction="always|withText"
>
</item>
當您使用開關的情況下始終嘗試使用打破,而不是回報。 – 2014-11-05 09:35:27
我知道@HareshChhelana ..但是這個代碼不是我的...而且我試圖清理所有,並且解決那種似乎在創建時沒有發生的錯誤..... 它是可怕的....:S – Shudy 2014-11-05 09:40:17