我有一个错误:
R cannot be resolved to a variable
排队:
setContentView(R.layout.main);
但我无法解决做其他用户应该尝试的事情,这些事情是:
- 摆脱'导入android。R’线
- 清理项目,然后重新构建它
- 关闭项目,然后再次打开它
- 转到项目属性>Java构建路径>勾选Android版本复选框
- 按照以下步骤:取消选中项目->自动构建项目->属性->构建器:确保所有Android(3)和Java(1)构建器都已选中(仅此而已)窗口->首选项->Android->构建:选中"构建时自动刷新资源和资产文件夹"右键单击项目->Android工具->修复项目设置(不确定它实际做了什么,但不会有什么影响)
- 一些用户建议检查.xml文件是否正确。我不知道我怎么能那样做。我必须承认,我是java和android编程的新手,我甚至没有在我的项目中写过一行——代码是自动生成的
- 布局xml文件使用小写字母命名
- 资源文件中没有错误(没有红十字)
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);
并再次构建/清理您的项目。然后取消注释注释行。这个问题不应该在那时被看到。
试试这个:
- 首先从"项目">"自动生成"禁用自动生成选项
- 更改eclipse工作空间
- 创建一个新的Hello World测试项目
- 注释
setContentView(R.layout.main);
- 通过右键单击eclipse>Build project中的项目手动构建项目
- 检查gen文件夹中的R.java是否已生成
- 如果是,则取消注释
setContentView(R.layout.main);
- 现在手动重新构建项目并运行
这将有望解决问题。
问题已经解决,但我不知道发生了什么变化。。。我重新安装了Eclipse、SDK等,gen文件夹和以前一样是空的,也是同样的问题。
我的上司让我再做一遍,结果(目前)奏效了。我不知道是什么原因。我以为我什么都试过了,但现在它起作用了,所以我永远不会知道。谢谢你们的帮助!
以上所述对我都无效。但是,我自己解决了。
解决方案:
如果您在app_name/res/layout
中有除activity_main.xml
/main.xml
之外的任何其他文件,请将其删除并尝试清理和构建。
注:
app_name/res/layout
中不需要的文件或(更确切地说,稍后使用的)文件将是*.out.xml
。拆下相同的。
请确保您正在扩展活动类
您真正需要做的只是从sdk管理器安装"构建工具",r.java将在gen文件夹中自动生成:)
简单
检查您的AndroidManifest和project.properties版本是否具有相同的SDK构建版本。