'R无法解析为变量' - gen文件夹为空

时间:2012-02-16 13:37:56

标签: android eclipse

我有一个错误:

R cannot be resolved to a variable

排队:

setContentView(R.layout.main);

但是我无法解决它应该尝试其他用户写的东西,其中包括:

  1. 摆脱'import android.R'行。
  2. 清洁项目,然后重新构建。
  3. 关闭项目,然后再打开它。
  4. 转到项目属性> Java构建路径>勾选Android版本复选框
  5. 按照以下步骤:取消选中Project->自动构建项目 - >属性 - >构建器:确保选中所有Android(3)和Java(1)构建器(仅此而已)Window-> Preferences- > Android->构建:选中“在构建时自动刷新资源和资源文件夹”右键单击项目 - > Android工具 - >修复项目设置(不确定它实际上做了什么,但它不会受到伤害)
  6. 有些用户建议检查.xml文件是否正确。我不知道怎么能这样做。我必须承认我是java和android编程的新手,我甚至没有在我的项目中写过一行 - 代码是自动生成的。
  7. 布局xml文件使用小写字母命名。
  8. 资源文件中没有错误(没有红叉)。
  9. layout main.xml文件:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/hello" />
    
    </LinearLayout>
    

    提前感谢您的帮助!

14 个答案:

答案 0 :(得分:5)

检查您的res/文件夹,以确保其中包含的每个文件都没有错误。如果存在任何错误,则无法生成R

答案 1 :(得分:1)

不要import Android.R;

代替,

import package.name.R;其中package.name是清单中声明的​​包名。

Android.R包含Android打包的所有默认布局。您的自定义布局不会是Android.R,而是位于package.name.R;

答案 2 :(得分:1)

是的,我被困在这几个小时。我的解决方案是:从工作区删除所有项目 - >重新导入所需项目,方法是转到file-&gt; import-&gt;浏览 - >选择项目&gt;然后选中“将项目添加到工作集”框“然后点击完成。我曾经的.R错误然后消失了。我希望这可以帮助别人!

答案 3 :(得分:0)

在日食中你有&#34;问题&#34;窗口。如果你解决了除R之外的所有其他问题无法解决,那么&#34; R&#34;问题将自动修复,因为没有生成R,因为很可能是您遇到与项目相关的问题。

希望这会有所帮助。如果您没有设法执行此操作,请打印出您的“问题”窗口所显示的内容。

答案 4 :(得分:0)

清理一次项目。它应该自动重新构建该文件。 转到Project->Clean 当然,如果您的xml文件在语法上是正确的,它将会起作用!

答案 5 :(得分:0)

删除你的R.java fie并让它再次生成......可能这会有所帮助......我有多次同样的问题

答案 6 :(得分:0)

试试这个: 评论setContentView(R.layout.main);并再次构建/清理您的项目。然后取消注释注释行。那时候不应该看到这个问题。

答案 7 :(得分:0)

试试这个:

  1. 首先从Project&gt;自动构建
  2. 中禁用自动构建选项
  3. 更改日食工作空间
  4. 创建一个新的Hello World测试项目
  5. 评论setContentView(R.layout.main);
  6. 通过在eclipse&gt; Build project
  7. 中右键单击您的项目来手动构建项目
  8. 检查是否已生成gen文件夹中的R.java
  9. 如果是,则取消注释setContentView(R.layout.main);
  10. 现在再次手动构建项目并运行
  11. 这应该有希望解决问题。

答案 8 :(得分:0)

问题解决了,但我不知道发生了什么变化......我重新安装了Eclipse,SDK等,并且 gen 文件夹像以前一样空了,同样的问题。

我的主管告诉我要再做一遍,它现在有用了。我不知道是什么原因。虽然我已经尝试了所有的东西,但它现在正在工作所以我永远不会知道。谢谢你的帮助!

答案 9 :(得分:0)

上面没有提到的任何内容对我有用。 但是,我自己修理了它。

解决方案:

如果除activity_main.xml内的main.xml / app_name/res/layout以外的任何其他文件,请将其删除并尝试清理并构建。

注意:

app_name/res/layout内的不需要的文件或(稍后使用的)文件将是*.out.xml。删除它。

答案 10 :(得分:0)

确保您正在扩展活动类

答案 11 :(得分:0)

我遇到了类似的问题。尝试了一切和gen文件夹仍然是空的。必须使用SDK版本22.我没有安装“Android SDK构建工具”。我只需要使用SDK Manager安装它并重启Eclipse。正如一位成员指出另一篇文章,答案在这个链接中有更好的解释: https://stackoverflow.com/a/16643060/1691231

答案 12 :(得分:0)

你真正需要做的只是安装&#34; build-tools&#34;来自sdk manager,r.java将在gen文件夹中自动生成:)

答案 13 :(得分:0)

简单

检查您是否拥有与AndroidManifest和project.properties版本相同的SDK版本。

相关问题