我刚刚下载并安装了新的 Android SDK。我想创建一个简单的应用程序来测试它。
向导创建了以下代码:
package eu.mauriziopz.gps; import android.app.Activity; import android.os.Bundle; public class ggps extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
但Eclipse给了我错误
R无法解决
在线的
setContentView(R.layout.main);
为什么?
PS :我确实有一个名为main.xml.res/layout/
main.xml
res/layout/
我的项目在开始时包含了一个 r.java.,R.layout.main 工作良好。但是,添加一些代码后它不起作用,错误是 R.layout.main 无法解决。问题是什么?
看看你的进口。有可能是这条线:
import android.R;
将在那里。如果是这种情况,请将其删除,这样您的项目将不会使用默认的 Android 资源类解析 R,而是使用 /res/ 文件夹中自动生成的类解析 R。
在跟踪这个问题之后,我在 Android 文档中找到了这个注释:
http://source.android.com/source/using-eclipse.html
注意:Eclipse 有时喜欢在使用资源的文件顶部添加“import android.R”语句,尤其是当您要求 Eclipse 排序或以其他方式管理导入时。这将导致您的制造中断。注意这些错误的导入语句并删除它们。
在浏览 Android 示例教程时,我经常使用Ctrl++Shift命令O来“组织导入”并生成任何缺少的导入语句。有时这会生成不正确的导入语句,这会隐藏R.java构建时自动生成的类。
R.java