此代码段中的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>清洁。错误仍然存在。答案 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,那么
从您收到此错误消息的类中删除所有import语句。
按CTRL + SHIFT + O - >或从菜单中选择来源,然后选择整理导入。这将导入所有必要的类。
注意:由于您有一个本地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;