2

我有这个错误:

@Override
public void paint(Canvas canvas) {
}

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

你能帮助我吗?

4

3 回答 3

3

如果你正在扩展Activity你不能覆盖paint方法。

绘画不是一种Activity方法。您只能覆盖您正在扩展的类中的现有方法。

我也从来没有用过油漆。是否要覆盖onDraw(Canvas)from View

于 2012-10-20T16:49:21.590 回答
1

看来您正在尝试覆盖在 的超类中不“存在”的方法MainActivity

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

  1. 您忘记添加extends ...您认为它 ( MainActivity) 继承自的类。
  2. 您混淆了方法名称,不应该paint()- 如果是这种情况 - 只需更改方法名称
  3. 它是这个类的一个新方法 - 应该删除注释 @Override。
  4. 您更改了原始方法的参数 - 您正在重载而不是覆盖。如果你真的想覆盖它,你应该坚持使用相同的参数,或者@Override如果你在重载之后删除注释。
于 2012-10-20T16:49:37.693 回答
0

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

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

于 2012-10-20T18:17:19.803 回答