我正在使用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”属性和非活动方法的示例,这些示例证明了这一点,并且我可能会遗漏一些显而易见的事情。但是我不能在Eclipse Indigo中运行这些示例而不从所有类中删除这些“@Override”属性。
为什么?
非常感谢任何帮助。
答案 0 :(得分:8)
您的项目Java编译器级别设置为1.5而不是1.6。请参阅here。
答案 1 :(得分:0)
删除该行并不好。你需要在你的eclipse中更改为JDK版本然后你不会得到这样的错误。按照以下步骤进行操作
右键点击您的项目&选择属性。
然后从左侧部分选择Java Compiler&选择您安装的JDK的版本。如果它已被选中,则取消选择它&试试吧。