我有一个奇怪的问题。Android @Overrride在一台机器上工作,但不是另一台机器
在我的电脑上我有一个在几个地方使用的@Override
的Android应用程序。当我将相同的项目复制到我的笔记本电脑上时,每个@Override
都出现错误。
该方法必须重写超类方法。它如何在一台机器上运行,而不是另一台机器上运行?
@Override
public boolean OnMenuItemClick(Menu Item){
}
我有一个奇怪的问题。Android @Overrride在一台机器上工作,但不是另一台机器
在我的电脑上我有一个在几个地方使用的@Override
的Android应用程序。当我将相同的项目复制到我的笔记本电脑上时,每个@Override
都出现错误。
该方法必须重写超类方法。它如何在一台机器上运行,而不是另一台机器上运行?
@Override
public boolean OnMenuItemClick(Menu Item){
}
很可能您的编译器合规性级别设置为1.5,应该设置为1.6。 转到窗口 - >首选项 - > Java - >编译器,并检查合规性级别是否设置为1.6。 同时检查项目特定设置,右键单击项目并选择属性 - > Java编译器。如果项目特定设置已启用,请选择1.6。
清理项目并重试。
尝试去窗口 - >首选项 - >爪哇 - >编译器 - >错误/警告,从下拉菜单中你的笔记本电脑
找到你的情况下(约覆盖),然后选择“忽略”也许有一些配置显示错误
它在两台机器上都是相同的,我比较它们 – Beginner
在这两台机器上是否有相同版本的Java SDK,Android SDK和库?您可能正在重写尚未在您的PC版Java或Android或其他库中实现的方法。
Erm在机器上检查这个最简单的方法是什么? – Beginner
注释@Override
表示一个方法声明打算重写超类中的方法 声明。如果使用此注释类型注释了方法但未覆盖超类方法,则编译器 需要生成错误消息。
此外,从版本1.6此注释也用于那些对接口中实现的方法。
也许你在机器上有不同版本的SKD,为什么显示错误。您应该修改代码并找出缺少的内容,而不是删除警告。
如果我采取覆盖出的实际应用程序在笔记本电脑上工作正常,但我仍然想知道为什么 – Beginner
我的猜测是,在PC上被覆盖的函数不会被调用。 – ajacian81
只是做1)。项目 - >清理2)。设置java编译器1.6 –