Android:覆盖更高API级别的方法

时间:2014-07-28 22:07:03

标签: java android override

如何覆盖仅在比我的最低级别更高的API级别中出现的方法?

具体来说,我想覆盖一个扩展 View 类的类,我需要覆盖 setBackground()方法。

  • 但当我使用 " @ Override" 注释时,我收到错误消息:

"错误:方法不会覆盖或实现超类型的方法"

  • 当我不使用 " @ Override" 注释时,我收到错误消息:

"此方法不会覆盖当前构建目标的任何内容,但会在API级别16(当前目标为10)"

1 个答案:

答案 0 :(得分:1)

将构建目标设置为16或更高。在Eclipse中,这是在Project>属性> Android系统。在Android Studio中,这是compileSdkVersion文件中的build.gradle

然后,添加@Override注释。

在早期版本的Android上不会调用该方法(除非您自己尝试调用它,在这种情况下,您的实现需要解决这个问题,可能需要使用IllegalStateException或其他东西)。但它会覆盖API Level 16 +上的正确方法。