我下载了ActionBarSherlock 4.0.3,解压缩并从该library文件夹中创建了一个新项目.src根据Eclipse,该文件夹充满了错误,因此我在线遵循各种指令,例如添加android-support-v4.jar,将目标API设置为15,将编译器合规性级别设置为1.6.尽管如此,该项目还有194个错误,所有错误都是"呼叫要求API级别11(当前最小值为7)".所以当我看到其中一个错误时,我看到了这个:
@Override
public void invalidateOptionsMenu() {
getSherlock().dispatchInvalidateOptionsMenu();
}
public void supportInvalidateOptionsMenu() {
invalidateOptionsMenu();
//the previous line has this error in Eclipse:
//Call requires API level 11 (current min is 7): android.app.Activity#invalidateOptionsMenu
}
Run Code Online (Sandbox Code Playgroud)
这看起来很奇怪,因为invalidateOptionsMenu()被前一个函数覆盖了,但是Eclipse仍然抱怨需要更新的API级别的函数.当我查看其他错误时,我发现这也是许多其他错误的情况.
我对Python的经验比Java要多,所以我不明白导致这种情况发生的原因.帮助将不胜感激,如果您提供帮助,您是否还可以解释导致此问题的原因以及您采取了哪些措施来解决问题?每次遇到问题我都不想问别人,我也想学习.
我注意到RelativeLayout对象的setBackground方法是针对API 16(Android 4.1)及更高版本的,但我的应用程序具有目标API 8,我无法使用它.
是否有针对此问题的替代解决方案(除了使用TargetApi(16)标记类/方法或更改清单中的目标API)?
谢谢!
编辑:Eclipse是错误的,它向我展示了setBackgroundDrawable的相同错误,但现在它似乎工作.谢谢您的帮助.