小编典典

将项目导入 Eclipse 后出现“必须覆盖超类方法”错误

all

每当我必须将我的项目重新导入 Eclipse 时(如果我重新安装了 Eclipse,或者更改了项目的位置), 几乎所有
我覆盖的方法都没有正确格式化,从而导致错误:

该方法必须覆盖超类方法

值得一提的是,无论出于何种原因,对于 Android 项目,方法参数值并不总是填充,因此我必须自己手动填充它们。例如:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //These arguments have their correct names
    public void onCreateContextMenu(ContextMenu menu, View v, 
                                    ContextMenuInfo menuInfo) {                 
    }

});

最初将像这样填充:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //This methods arguments were not automatically provided    
    public void onCreateContextMenu(ContextMenu arg1, View arg2,
                                    ContextMenuInfo arg3) {
    }

});

奇怪的是,如果我删除我的代码,并让 Eclipse
自动重新创建该方法,它使用我已经拥有的相同参数名称,所以我真的不知道问题出在哪里,除此之外它会自动格式化方法我。

不得不手动重新创建所有我重写的方法,这变得相当痛苦。如果有人能解释为什么会发生这种情况或如何解决它。我会很高兴的。

也许是由于我格式化方法的方式,这些方法在另一个方法的参数中?


阅读 130

收藏
2022-02-25

共1个答案

小编典典

Eclipse 默认使用 Java 1.5,并且您有实现接口方法的类(在 Java 1.6 中可以用 注释@Override,但在 Java 1.5
中只能应用于覆盖超类方法的方法)。

转到您的项目/IDE 首选项并将 Java 编译器级别设置为 1.6,并确保您选择 JRE 1.6 以从 Eclipse 执行您的程序。

2022-02-25