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



我有一个错误:

R cannot be resolved to a variable

排队:

setContentView(R.layout.main);

但我无法解决做其他用户应该尝试的事情,这些事情是:

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

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>

提前感谢您的帮助!

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

是的,我在这个问题上坚持了几个小时。我的解决方案是:从工作区中删除所有项目->通过转到文件->导入->浏览->选择项目->重新导入所需的项目,最后选中"将项目添加到工作集框",然后单击完成。我曾经犯过的.R错误从此消失了。我希望这能帮助到别人!

不要import Android.R;

相反,

import package.name.R;,其中package.name是清单中声明的程序包名称。

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

在eclipse上,您有"问题"窗口。如果您修复了除R之外的所有其他问题,则"R"问题将自动修复,因为R没有生成,因为您很可能存在与项目相关的问题。

希望这能有所帮助。如果您无法做到这一点,请打印"问题"窗口显示的内容。

清洁您的项目一次。它应该会自动重新构建该文件。转到Project->Clean当然,只有在xml文件语法正确的情况下,它才能工作!

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

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

试试这个:

  1. 首先从"项目">"自动生成"禁用自动生成选项
  2. 更改eclipse工作空间
  3. 创建一个新的Hello World测试项目
  4. 注释setContentView(R.layout.main);
  5. 通过右键单击eclipse>Build project中的项目手动构建项目
  6. 检查gen文件夹中的R.java是否已生成
  7. 如果是,则取消注释setContentView(R.layout.main);
  8. 现在手动重新构建项目并运行

这将有望解决问题。

问题已经解决,但我不知道发生了什么变化。。。我重新安装了Eclipse、SDK等,gen文件夹和以前一样是空的,也是同样的问题。

我的上司让我再做一遍,结果(目前)奏效了。我不知道是什么原因。我以为我什么都试过了,但现在它起作用了,所以我永远不会知道。谢谢你们的帮助!

以上所述对我都无效。但是,我自己解决了。

解决方案:

如果您在app_name/res/layout中有除activity_main.xml/main.xml之外的任何其他文件,请将其删除并尝试清理和构建。

注:

app_name/res/layout中不需要的文件或(更确切地说,稍后使用的)文件将是*.out.xml。拆下相同的。

请确保您正在扩展活动类

p>我也遇到过类似的问题。尝试了所有操作,生成文件夹仍然为空。它必须使用SDK版本22。我没有安装"Android SDK构建工具"。我只需要用SDK Manager安装它,然后重新启动Eclipse。正如一位成员在另一篇帖子中指出的那样,这个链接可以更好地解释答案:https://stackoverflow.com/a/16643060/1691231

您真正需要做的只是从sdk管理器安装"构建工具",r.java将在gen文件夹中自动生成:)

简单

检查您的AndroidManifest和project.properties版本是否具有相同的SDK构建版本。

最新更新