如何覆盖仅在比我的最低级别更高的API级别中出现的方法?
具体来说,我想覆盖一个扩展 View 类的类,我需要覆盖 setBackground()方法。
"错误:方法不会覆盖或实现超类型的方法"
"此方法不会覆盖当前构建目标的任何内容,但会在API级别16(当前目标为10)"
答案 0 :(得分:1)
将构建目标设置为16或更高。在Eclipse中,这是在Project>属性> Android系统。在Android Studio中,这是compileSdkVersion
文件中的build.gradle
。
然后,添加@Override
注释。
在早期版本的Android上不会调用该方法(除非您自己尝试调用它,在这种情况下,您的实现需要解决这个问题,可能需要使用IllegalStateException
或其他东西)。但它会覆盖API Level 16 +上的正确方法。