【问题标题】:how to solve R.java id on android如何在android上解决R.java id
【发布时间】:2014-08-22 14:27:05
【问题描述】:

我添加了一个像 android:id="id/user name" 这样带有空格的 ID,现在我的 R.java 文件中出现编译器错误。这是报告:

/home/eric/AndroidStudioProjects/QrClub/app/build/generated/source/r/debug/com/example/eric/qrclub/R.java
Error:(22, 40) error: ';' expected
Error:(22, 50) error: <identifier> expected
Error:Execution failed for task ':app:compileDebugJava'.
> Compilation failed; see the compiler error output for details.

我想我必须从 R.java 中删除用户名,但我做不到...

【问题讨论】:

    标签: java android r.java-file


    【解决方案1】:

    Android ID 中不能有空格。您应该只使用英文字母字符和“_”字符。此外,当您第一次声明 id 时,您应该使用 +id 并且在 id 之前需要一个 @ 字符;

    android:id="@+id/user_name"
    

    【讨论】:

    • 好的,谢谢,但现在我在 R.java 中有这个字符串 "public static final int User name=0x7f080005;"这给了我错误我想知道如何删除它...谢谢
    • 对于寻找相同答案的其他人,如果在 Eclipse 中工作,只需清理您的项目,它就会工作。此外,您永远不应该手动更改 R.java 文件
    【解决方案2】:

    关于 Android ID 的命名约定有一个很好的讨论:

    Android id naming convention: lower case with underscore vs. camel case

    我承认在阅读此讨论之前我没有听说过“CamelCase”这个词。好吧,你每天都能学到新东西。

    底线是虽然不允许空格,但显然允许大小写字符。虽然我的印象是我的一个基于 Eclipse 的 Android 测试程序在前导大写字符方面存在问题 - 所以从那时起我一直在防御性地使用“@+id/a_b_c”类型命名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-05
      • 1970-01-01
      • 2012-03-07
      • 2011-01-07
      • 2020-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多