我刚刚下载并安装了新的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文件。


当前回答

一个更好更有前途的解决方案

关闭Eclipse并打开Workspace目录。 寻找一个名为"的文件夹。然后删除该文件夹。 打开Eclipse。

错误应该消失:)

其他回答

还有一件事可能会导致这个问题:

我安装了新的ADT(第22节)。它停止创建包含R.java的gen文件夹。解决方案是在Android SDK管理器中安装新的Android SDK构建工具。

在这里找到解决方案

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

首先查看你的生成文件,看它是否包含你的包名和R.java。 如果它是空的,可能你没有权限创建新文件,所以退出eclipse,然后右键单击,以管理员身份运行,清理项目,一切都会正确。

否则你的XML文件中可能会有错误,或者检查其他答案。

对我来说有用的是安装“Android SDK Build-tools”。打开Android SDK管理器,安装Android SDK构建工具。它还帮助更新了Eclipse中的android开发平台:帮助>检查更新

同样的事情也发生在我身上,我花了一天时间来解决这个问题。这真的是一个愚蠢的错误。我只是剪一下我的经验,希望对您有所帮助。首先,当你输入这个setContentView(r.b ayout.activity_to_do_list);听到你的起点R.l,那么eclipse应该为你打开一个这样的建议

你导入第二个不是layout-android。R。第二个是在项目中创建的,其中com.example.gridtest是项目包的名称。然后在代码中集中导入的部分

好的,看这个导入com.example。gridtest。r;这很重要。如果你已经导入了这个android。R然后移除它。谢谢,希望有用。(你不需要总是这样做,但如果你遇到这种问题,然后这样做,希望它会有所帮助)