【问题标题】:IntelliJ/Android -> "java: constant expression required" on case R.id.viewIdIntelliJ/Android ->“java:需要常量表达式”案例 R.id.viewId
【发布时间】:2013-03-06 12:38:58
【问题描述】:

当我尝试在 IntelliJ 中构建我的 Android 项目时,我在每个 switch 语句上都会遇到错误,这些情况使用 R.java 中的 Id。

例子:

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;
}

有谁知道如何解决这个问题?

【问题讨论】:

  • 检查以确保您没有在课堂上得到任何错误的 R-imports。

标签: java android intellij-idea


【解决方案1】:

自 ADT 版本 14 以来,资源 ID 在库项目中不是常量,因此您不能在 switch 语句中使用它们。只需改用if () {} else if () {} ...

您可以找到更多详细信息here

【讨论】:

  • 这仅适用于不是由您自己的应用创建的资源。
  • 不,它适用于库项目中创建的任何资源
  • 错了。它在该链接中多次明确表示它仅与 library 项目有关。
猜你喜欢
  • 1970-01-01
  • 2011-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多