android @Override函数前的错误

时间:2012-10-20 16:42:23

标签: android

我遇到了这个错误:

@Override
public void paint(Canvas canvas) {
}

MainActivity类型的方法paint(Canvas)必须覆盖或实现超类型方法。 仅当我在方法之前删除@Override时,错误才会消失。 我已经在1.6级上设置了项目属性java编译器

你能帮助我吗?

3 个答案:

答案 0 :(得分:3)

如果要扩展Activity,则无法覆盖绘制方法。

Paint不是Activity方法。您只能覆盖要扩展的类中的现有方法。

我也从未使用过Paint。您是否要覆盖onDraw(Canvas)上的View

答案 1 :(得分:1)

您似乎正在尝试覆盖MainActivity超类中不存在的方法。

一些可能的原因(和解决方案):

  1. 您忘了将extends ...添加到您认为(MainActivity)继承的课程中。
  2. 您混淆了方法名称,它不应该是paint() - 如果是这种情况 - 只需更改方法名称
  3. 这是此类的新方法 - 应删除注释@Override。
  4. 您更改了原始方法的参数 - 并且您正在超载而不是覆盖。如果你真的想要覆盖它,你应该坚持使用相同的参数,如果你在重载之后删除@Override注释。

答案 2 :(得分:0)

如果您要覆盖的方法确实存在于父类中,那么请确保您至少使用java 1.6进行编译

左键单击您的项目 - >属性 - > Java编译器 - >至少选择java 1.6然后清理项目并重建。