Eclipse Indigo不允许对非“活动”覆盖的方法使用@Override



我使用Eclipse Indigo进行Android开发。我面临的问题是,它不允许@Override用于非活动覆盖的方法。例如,如果我实现MediaPlayer的onErrorListner,并用它设置属性@Override,那么它会给出以下编译时错误:

The method onError(MediaPlayer, int, int) of type MyActivity must override a superclass method

为了解决这个问题,我建议使用以下

Remove "@Override" annotation

很难删除@Override修复了这个问题,但为什么它会抱怨它,而且删除它可能会导致停止其父级的一些功能等??

我已经下载了许多将"@Override"属性与非活动方法一起使用的示例,这证明了这一点,我可能遗漏了一些明显的东西。但是,如果不从所有类中删除这些"@Override"属性,我就无法在EclipseIndigo中运行这些示例。

为什么?

非常感谢您的帮助。

您的项目Java编译器级别设置为1.5,而不是1.6。请参见此处。

删除该行是不好的。您需要在eclipse中更改为JDK版本,这样就不会出现这样的错误。按照,下面的步骤,

右键单击您的项目&选择"属性"。

然后从左侧部分选择Java编译器&选择您安装的JDK的版本。如果它已经被选择,则取消选择它&试试看。

最新更新