主要无法解决或不是一个领域

时间:2011-02-28 14:39:43

标签: android android-layout android-manifest

此代码段中的setContentView行发生此错误:

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

据我所知,为了解析R.layout.main,必须存在名为 res / layout / main.xml 的文件。

它存在且有效(即Eclipse将其标记为完美且没有任何错误)。那么,还有什么可能导致这个错误?

是的,我已经尝试了Project>清洁。错误仍然存​​在。

9 个答案:

答案 0 :(得分:139)

确保您的导入中没有此内容:

import android.R;

但:

import your.application.packagename.R;

答案 1 :(得分:10)

还尝试: 添加

import your.application.packagename.R;

并运行: Eclipse的>项目 - >清洁..

错误应该消失。

答案 2 :(得分:2)

如果这是您遇到的问题,请检查代码顶部 - 你会看到:

import android.R

删除该行并将其更改为

import (com.xx.yy)

将(com.xx.yy)替换为该类的实际包名称。当您复制另一个应用程序的所有XML和Java代码并将其粘贴到新应用程序中时,会发生此问题。

这是我如何在我自己的应用程序(益智游戏)中替换android.R包的示例:

package com.pir.PUZZLEGAME_NEW;

import com.pir.PUZZLEGAME_NEW.*;
import com.pir.puzzlegame_old.R;
祝你好运!

答案 3 :(得分:2)

从您收到此错误消息的类中删除所有import语句。

然后按 ctrl + shift + o

答案 4 :(得分:0)

此外,有时即使在进行了必要的更改之后仍然无法编译; 但是如果你继续运行应用程序,错误就会清除。

答案 5 :(得分:0)

如果你正在使用eclipse,那么

  1. 从您收到此错误消息的类中删除所有import语句。

  2. 按CTRL + SHIFT + O - >或从菜单中选择来源,然后选择整理导入。这将导入所有必要的类。

  3. 注意:由于您有一个本地R.class文件,它将导入您的本地文件而不是android.R文件。

    希望这会对某人有所帮助。

答案 6 :(得分:0)

我删除了以下行,它对我有用。

导入android.R;

答案 7 :(得分:0)

我改变了

   import android.R;

 import your.application.packagename.R;

项目 - >清除错误。

但是当我运行项目时错误自动消失,可能是Eclipse问题。

答案 8 :(得分:0)

让我改变

import org.opencv.R;

import com.example.opencvtryagain.R;

解决了它,我的包名是com.example.opencvtryagain;