为什么@override不起作用?

时间:2010-01-08 20:50:12

标签: android eclipse code-generation override annotations

这段代码出了什么问题?

@Override
protected void onCreate(Bundle savedInstanceState) {

Eclipse声明@override不在它的位置。 它说“捆绑”是错误的。我搞不清楚了。

5 个答案:

答案 0 :(得分:2)

应该是

 @Override public void onCreate(Bundle savedInstanceState){

 }

onCreate是公开的,不受保护。

答案 1 :(得分:1)

所以问题可能是编译器合规性级别:1.5而不是1.6?

@Baleisen为您的项目设置了哪个级别?

答案 2 :(得分:1)

我对android框架知之甚少,但是:

首先确保您的班级扩展一个类,例如包含onCreate的(Activity)。然后尝试调用super.onCreate,仔细检查你扩展的Class是否包含onCreate! 您可能指向另一个具有相同名称的类。 您的编译器说没有什么可以覆盖,如果您确定它是错误的,那么您的编译器就会出来日期或框架。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //yourCode
    }

另外如果你的扩展和扩展类,请确保,这个方法,我发布的是在类中扩展类。它可能会对此感到恐惧。

答案 3 :(得分:0)

你的课程延伸了什么?你正在编译哪个Android SDK版本?

答案 4 :(得分:0)

之前发生过这种情况,问题是Android SDK没有完全加载到Eclipse中。

另外,你的文件中有这个导入吗?父onCreate方法位于Activity。

import android.app.Activity;