Eclipse没有用Android识别“R.id ...”

时间:2010-07-12 13:43:17

标签: android eclipse-plugin

任何想法为什么Eclipse有时会发抖并且无法识别它几秒钟之前的代码?下面的代码中的“R”在5分钟前没有下面的红色波浪线,我没有更改代码。这种情况经常发生在Eclipse上,通常我把它关闭然后重新启动它,这很好......不要再去了。

// Initialize view elements
    mSearchBox      = (EditText) this.findViewById(R.id.edittext_search);
    mSearchButton   = (Button) this.findViewById(R.id.button_search);

8 个答案:

答案 0 :(得分:11)

你是不是意外导入了android.R。*;在任何情况下?我导入了这个,这使得eclipse无法识别所有其他生成的R类,请确保从项目中导入一个:

import <project_name>.R;

答案 1 :(得分:10)

听起来R类需要重新生成,尝试更改布局文件并保存,以便项目重建。

答案 2 :(得分:5)

这是Android中非常常见的问题,只需遵循此,

  • 转到“项目菜单”
  • 选择“干净”选项。
  • 确保“自动构建选项已选中”

完成后,您的R.java错误将得到解决。

答案 3 :(得分:1)

从Android开发工具(ADT)14开始,资源字段如R.id.在库项目中定义时不再是常量。这对于使库项目可重用而无需重新编译是必要的。

对于R.id.有一个简单的解决方法。你知道这是正确的,但Android认为它是不正确的。 (假设您的.xml文件正确,您的java代码引用了正确的资源,并且您没有“import android.R;”语句)

  1. 将光标置于switch语句上并右键单击它。
  2. 选择QUICK FIX。 Eclipse会将您的交换机staments转换为if-else if-else语句。
  3. 这应该修复R.id.问题。

答案 4 :(得分:1)

我遇到了同样的问题。我所做的只是删除“import android.R”语句,Eclipse自动给了我需要的导入。一旦我点击保存,我的所有错误都消失了。我挣扎了三天试图解决这个问题。

BTW - 确保你对所有文件都这样做。

答案 5 :(得分:0)

除了上面的答案之外,如果您尚未在AndroidManifest.xml中声明包,或者声明了错误的包,则会发生此错误。确保你有

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.applicationname" ...

答案 6 :(得分:0)

如果您认为您的代码是正确的,那么您仍然会收到此错误。

右键单击Project&gt;&gt; Build Project,这个错误就会消失。

您还可以保留自动构建项目的设置

点击“项目标签”&gt;&gt;自动构建。

希望这能解决你的问题!!

答案 7 :(得分:0)

您是否将任何图像文件添加到可绘制文件夹中?具有无效文件名的图像文件也可能导致同样的问题。