R无法解析 - Android,没有导入android.R;声明

时间:2011-04-25 17:04:36

标签: android eclipse android-layout

确定, 我正在开发一个新的应用程序,只要我使用相对视图,一切正常。但是,我想要一个标签式布局,所以我切换了我所拥有的(因为我刚从数据库和设置工作中读取它而不是很多)到标签视图。从那时起,任何具有任何R.语句的类都有“无法解析的R”错误。我正在遵循Android“Hello Views”教程中的教程,所以我假设这不是问题(但它仍然可以)。

10 个答案:

答案 0 :(得分:11)

我有一些建议:

  1. 确保除R相关错误外没有任何其他错误。在Eclipse,Android Tools - >中右键单击项目文件夹。修复项目属性。

  2. 检查以确保您导入了正确的R.有时可以导入默认的Android.R。

  3. 检查布局XML文件中的错误。

答案 1 :(得分:8)

  1. 您可以尝试“清理”您的项目。
  2. 默认技术解决方案有时会有所帮助:重启Eclipse(认真)
  3. 如果您有错误(可能是您的XML中的内容或其他内容),则无法编译R.如果是这种情况,请尝试查找记录的第一个错误。如果你解决了这个问题,R将被编译并找到。如果必要,请在修理之后使用第1点和第2点。
  4. 删除导入部分中的所有“import R”内容。你不希望这样。

答案 2 :(得分:2)

如果您正在使用Eclipse,请尝试执行Project / Clean并重新构建项目。它有时在Android项目中有类路径的随机问题。

答案 3 :(得分:1)

除了之前答案中的重要建议外,请确保您的Android目标已设置:

  1. 右键单击您的项目
  2. 选择属性
  3. 在左侧菜单中选择Android
  4. 勾选相应项目构建目标旁边的框。
  5. 单击“应用”和“确定”
  6. 编辑:一年后,我找到了另一个原因。我的drawable文件夹中有一个.jpg图像,其名称与.png图像相同。在我的代码中引用此图像必定会混淆程序,并且它会出现“R无法解析”错误。

答案 4 :(得分:0)

如果'res'目录中的任何内容使用非法字符命名,则可能会发生这种情况。

请注意,android只允许使用小写字母(没有大写!!!),数字和下划线。这就是全部!

几乎每个操作系统都允许使用其他字符,因此将文件移动到“res”目录中很容易造成此问题。

修正?重命名文件。通过右键单击包或项目浏览器中的文件并选择Refactor-> Rename来完成此操作。您可能需要在之后清理您的项目,但要注意可能会进入的可怕的“import android.R”。

祝你好运! 斯科特

答案 5 :(得分:0)

我也有样本问题,这对我有用。

1。)检查Layout XML中是否有任何错误。特别是在文字和标题方面

你应该使用

    android:text="@string/hello" 

而不是

    android:text="hello"  

.2)清理你的项目

.3)重启Eclipse

答案 6 :(得分:0)

检查您认为正在使用的所有字符串(例如“@ string / Hello_world”)是否实际存在于strings.xml文件中。我在使用android:title="@string/Navigation"声明菜单项后得到OP错误,但我没有将<string name="Navigation">Navigation</string>添加到strings.xml

答案 7 :(得分:0)

你应该导入你自己的项目R class而不是orroids默认的R class ie     your.app.package.R

这将使您的类中的res文件夹下定义的值。在刷新之后再清理你的项目。

答案 8 :(得分:0)

在我的情况下,它是因为我重构了我的项目并在文件夹结构中移动了一些类。这些类无法像往常一样找到R,因为它基于根源文件夹。

答案 9 :(得分:-2)

您需要确保导入R.如果您的主程序包是com.example,请尝试在文件顶部导入“com.example.R”。出于某种原因,eclipse不会为你做这件事。