Android @Override在一台机器上可以工作,但在另一台机器上却不行

3

我有一个奇怪的问题。

在我的电脑上,我有一个使用@Override的安卓应用程序,在多个地方都有使用。但是当我将同样的项目复制到我的笔记本电脑上时,每次使用@Override都会出现错误。

该方法必须重写超类方法。为什么在一台机器上可以运行而另一台机器上不行呢?

@Override
public boolean OnMenuItemClick(Menu Item){
}

如果我去掉覆盖,实际应用程序在笔记本电脑上运行良好,但我仍然想知道为什么。 - Beginner
我的猜测是,在个人电脑上被覆盖的函数没有被调用。 - ajacian81
只需执行以下两步操作即可:1)项目->清理;2)设置Java编译器为1.6。 - Paresh Mayani
4个回答

3

很可能您的编译器兼容级别设置为1.5,而应该设置为1.6。 前往 Window -> Preferences -> Java -> Compiler,并检查兼容级别是否设置为1.6。 还要检查项目特定设置,右键单击项目并选择属性 -> Java编译器。如果启用了项目特定设置,请选择1.6。

清理项目并重试。


1
尝试前往“Window -> Preferences -> Java -> Compiler -> Errors/Warnings”,找到您的情况(关于覆盖)并在笔记本电脑上从下拉菜单中选择“忽略”。
也许有一些配置显示了该错误。

它们在我比较的两台机器上是相同的。 - Beginner

0
你的两台机器上是否安装了相同版本的Java SDK、Android SDK和库文件?你可能正在覆盖一个在你电脑上的Java或Android版本中尚未实现的方法,或者其他库文件也有可能存在这种情况。

在计算机上检查这一点的最简单方法是什么? - Beginner

0

注解@Override

表示方法声明意图覆盖超类中的方法声明。如果一个方法被标注了这个注解类型,但是没有覆盖超类中的方法声明,编译器将会生成一个错误信息。

此外,从1.6版本开始,该注解也用于实现接口的方法。

可能你在不同的机器上使用了不同版本的SDK,因此出现了错误。与其删除警告,你应该检查你的代码并找出缺失的部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接