Theming ActionBarSherlock da error de nivel de api

He actualizado mi proyecto desde Android 4.2 a Android 4.2.2 y de repente me sale este error en mi 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> 

¿Cómo puedo solucionar esto? De acuerdo con los documentos de ABS esto es cómo debe hacerse. Vea: http://actionbarsherlock.com/theming.html

Intenté reiniciar, pero en última instancia necesitaba limpiar el proyecto: Haga clic en "Proyecto-> Limpiar …"

El error regresó cada vez que guardé mi styles.xml. Por ahora, estoy configurando mi nivel mínimo de API a 11 temporalmente mientras edito ese archivo para evitar los errores, y luego restablecerlo de nuevo y limpiar cuando quiero ejecutarlo en mi emulador de bajo nivel de API.

Editar: Si no te gusta dejar la versión de mini SDK artificialmente alta, también funciona para mí cambiarla a 14 (otro número alto), guardar AndroidManifest.xml, cambiarlo de nuevo y guardarlo de nuevo.

He utilizado la solución rápida sugerida de Eclipse (CTRL-1 en el elemento subrayado) y acaba de añadir las herramientas de supresión de advertencia : ignore = "NewApi"

 <item name="android:actionBarStyle" tools:ignore="NewApi">@style/Widget.Styled.ActionBar</item> 

De esta manera no tendrá que ignorar toda la advertencia de Lint, que podría ser útil en otros casos, y puede compilar el proyecto sin tener que reajustar la API de destino cada vez que edite el archivo.

Actualización : Como greg7gkb señalado en los comentarios: No se olvide de la declaración de espacio de nombres ( xmlns:tools="schemas.android.com/tools" ).

En última instancia, realmente debería agregar el atributo que le está dando el error en un archivo específico styles.xml de la API.

Esta respuesta SO describe esto mucho mejor de lo que podría: android: actionBarStyle requiere el nivel 11 de la API

Creo que TODAS las otras respuestas no son arreglos, sino work-arounds (subvertir el error, pero en última instancia, no lo arreglan).

En Intellij IDEA (presumiblemente también eclipse) puede suprimir las advertencias de API para todo el archivo agregando

 <!--suppress AndroidLintNewApi --> 

Antes de declarar el esquema. Así que su archivo xml se vería así:

 <!--suppress AndroidLintNewApi --> <resources xmlns:android="http://schemas.android.com/apk/res/android"> < ... /> </resources> 
  • Barra de acción Sherlock 4 color del texto del título - donde me estoy yendo mal?
  • PreferenciaActividad getSupportLoaderManager ()
  • ¿Cómo quitar los elementos de menú del fragmento de pila posterior?
  • No se puede resolver la superclase de Landroid / support / v4 / app / FragmentActivity
  • Después de agregar el ActionBarSherlock a mi proyecto mi archivo de R.java se ha ido
  • ActionbarSherlock: Ocultar barra de acciones al mostrar pestañas
  • Incompatibilidad de taras al importar ActionBarSherlock
  • Google + Iniciar sesión: la actividad no se iniciará
  • Cómo cambiar el color de texto de autocompletar para la vista de búsqueda dentro de ActionBarSherlock con fondo oscuro?
  • Barra de acción de Sherlock cambiar el color del texto
  • ¿Cómo configurar la fuente personalizada a la barra de acción contextual de sherlock?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.