【问题标题】:How to remove an alien element from R.java?如何从 R.java 中删除外星元素?
【发布时间】:2012-02-16 17:27:30
【问题描述】:

我自动使用 IDEA 的智能感知 (Alt+Enter),因为我已经习惯了知道它会提供哪个选项。所以今天早上我重命名了一些 XML id(LinearLayout 的 id)并且(可能)以某种方式直接在R.java 文件中生成了一个条目。后来我想编译项目,但我一直收到错误:<identifier> expectedR.java 现在看起来像这样

public static final class id {
    public static final int @+id/linearLayoutMessages=0x7f080012;
    //... other IDs

显然文件中的撕裂是前缀@+id/

我尝试删除 R.java 并重建项目,但没有帮助。相同的错误和相同的条目不断地重新生成。我可以通过手动从R.java 中删除此条目来解决此问题(暂时),但每次尝试重建项目时都会收到此消息。

知道为什么这个奇怪的条目即使在删除R.java 后仍然存在? IDEA的版本是11。

【问题讨论】:

  • 您确定您的 XML 中没有意外地有一个“@+id/@+id/linearLayoutMessages”的 id 吗?
  • 我不是,所以我会再检查一次。但我怀疑,因为在我手动删除 R.java 条目让编译器在编译中继续前进后,编译器不会抱怨非法名称
  • 天啊!你是对的。它只是站在那里。请回复,以便我接受您的回答。

标签: android intellij-idea r.java-file


【解决方案1】:

你的 XML 中有“@+id/@+id/linearLayoutMessages”,你这个笨蛋!

【讨论】:

    【解决方案2】:

    在我的情况下,我写了 android:id="@+id/52_day_card_image" 这是非法的。解决方案是 android:id="@+id/fiftytwo_day_card_image"。傻我,还是傻编译器,你的选择

    【讨论】:

    • 我认为Java不允许变量名以数字开头。
    猜你喜欢
    • 2012-05-08
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    • 1970-01-01
    • 2011-02-28
    • 2014-11-16
    • 1970-01-01
    • 2013-02-28
    相关资源
    最近更新 更多