IntelliJ/Android -> "java: constant expression required" on case R.id.viewId



当我尝试在IntelliJ中构建我的Android项目时,我会在每个开关语句上得到错误,这些情况下使用Id ' s脱离R.java。

的例子:

switch (item.getItemId()) {
  case android.R.id.home:
    NavUtils.navigateUpTo(this, DashboardActivity.upIntent(this));
    return true;
  case R.id.orders_options_add:
    handleAddItem();
    return true;
  case R.id.orders_options_reorder:
    handleReorder();
    finish();
    return true;
}
有谁知道如何解决这个问题吗?

从ADT版本14开始,资源id在库项目中不再是常量,所以你不能在switch语句中使用它们。就用if () {} else if () {} ...

相关内容

最新更新