主题ActionBarSherlock给出了api级错误

Kla*_*aak 10 android actionbarsherlock

我将我的项目从Android 4.2更新到Android 4.2.2,我突然在styles.xml中收到此错误:

<style name="Theme.Styled" parent="Theme.Sherlock.Light.DarkActionBar">
    <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
   <!-- Requires level 11. Current: 7 --> <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我该如何解决?根据ABS文档,这是应该如何做的.请参阅:http://actionbarsherlock.com/theming.html

jgi*_*les 11

我尝试重新启动,但我最终需要清理项目:点击"Project-> Clean ..."

每次保存styles.xml时都会返回错误.目前,我在编辑该文件时暂时将我的最低API级别设置为11以避免错误,然后将其重置为低清并在我希望在低API级别仿真器上运行时进行清理.

编辑:如果你不喜欢人工保留最低版本的SDK版本,它也适用于我将其更改为14(其他一些高数字),​​保存AndroidManifest.xml,立即更改,然后再次保存.


Pat*_*ick 10

我使用了建议的Eclipse快速修复程序(带下划线的元素上的CTRL-1)并添加了警告抑制工具:ignore ="NewApi"

<item name="android:actionBarStyle" tools:ignore="NewApi">@style/Widget.Styled.ActionBar</item>
Run Code Online (Sandbox Code Playgroud)

这样您就不必忽略整个Lint警告,这在其他情况下可能很方便,并且您可以编译项目而无需在每次编辑文件时重新调整目标API.

更新:正如greg7gkb在评论中指出的:不要忘记命名空间声明(xmlns:tools="schemas.android.com/tools").

  • 理想解决方案 - 谢谢.不要忘记你还需要在xml中声明xmlns:tools ="http://schemas.android.com/tools". (5认同)