我刚刚下载并安装了新的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);

Why?

PS:我在res/layout/下有一个名为main.xml的XML文件。


当前回答

要解决此问题,请转到java构建路径->order和Export,选中所有复选框,选择ok,然后清理并构建项目,导入包名R文件(Ex com.demo.R)。它的工作原理。

其他回答

将活动添加到与包的根名称空间不同的名称空间也可能导致此错误。

例如,如果com.example.myapp是包的根名称空间,那么您可以将一个活动添加到com.example.myapp.activities名称空间。

这将产生“R不能被解决”的错误。

要修复导入,活动中默认命名空间中的R应该是:

import com.example.myapp.R;

按Alt+enter并导入

or

Ctrl + F9

和解决。

安装所有Android SDK构建工具,并删除导入Android。R在你的活动课上。单击项目后->清洁

import android.R;

这对我很管用。

我没有“import android”。R’在eclipse向导创建的全新项目中。默认的XML布局文件也是小写的。

问题是eclipse没有生成R.java。再多的清理/重新启动也没有任何效果。

我注释了setContentView和getMenuInflator调用,make成功后,Eclipse生成了R.java。

一旦生成了R.java,我就可以取消setContentView和getMenuInflator的注释。

只需进入Android Top菜单列表。点击构建菜单,在构建下点击重建项目。