IntelliJ / Android – >案例R.id.viewId上的“java:constant expression required”

当我尝试在IntelliJ中构建我的Android项目时,我会在每个switch语句中获得错误,这些语句使用了Id的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 () {} ...

您可以在此处find更多详细信息。