android actionbarsherlock

android - No se puede resolver @ style/Theme.Sherlock



actionbarsherlock (6)

Estoy tratando de usar Actionbar Sherlock 4, dirigido a sdk 15 y min sdk 8. Después de seguir las instrucciones proporcionadas en el sitio web de Uso y los excelentes videos publicados aquí: http://www.youtube.com/watch?v=avcp6eD_X2k

Todavía estoy encontrando un problema. Cuando intento agregar android: theme = "@ style / Theme.Sherlock" a mi archivo de manifiesto, aparece el error:

No se encontró ningún recurso que coincida con el nombre dado (en ''tema'' con el valor ''estilo / Tema.Sherlock'').

He incluido el proyecto de la biblioteca Sherlock de la barra de acción en mi proyecto, y las declaraciones de importación están ahí y no aparecen errores, y he

extiende SherlockActivity implementa ActionBar.TabListener

Al igual que en el código de demostración y la documentación. Sin embargo, eclipse me da este error. ¿Alguna idea por ahí?


¡Encontré una extraña anomalía que podría ayudar!

Se ha creado un proyecto de Android que utiliza ABS, ejecutarlo en Gingerbread funciona bien, en ICS se bloquea, el bloqueo en ICS se produce debido a esto, verifique su AndroidManifest.xml (se han recortado bits para mayor brevedad ...

<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/Theme.Sherlock">

Fue la parte de Android: tema que causó el bloqueo en ICS, funcionó bien en Gingerbread y versiones anteriores. ¡La solución fue eliminarlo por completo! Luego desde tu actividad, haz esto:

@Override public void onCreate(Bundle savedInstanceState) { if (Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH){ this.setTheme(com.actionbarsherlock.R.style.Theme_Sherlock); } super.onCreate(savedInstanceState); ... // MORE CODE .... }

Esto solucionó el fallo bajo ICS, el estilo del tema no es del agrado de ICS, pero funciona bien para ambas versiones con menos de 2.3 y 4.0 hacia arriba ... ¡error extraño pero que descubrí por casualidad!

¡Recuerde aplicar el tema antes de llamar al propio onCreate de la clase base!


El escollo que encontré fue el siguiente: la referencia al proyecto ActionBarSherlock debe estar en la sección Android-> Bibliotecas de las propiedades del proyecto, mientras que yo lo estaba agregando a Build Path-> Libraries.


Finalmente encuentro la solución:

  1. ¡IMPORTANTE! Copie el mismo android-support-v4.jar en ambos proyectos: en la biblioteca y en su proyecto (este es el problema principal).
  2. Importe el proyecto de "biblioteca" a su espacio de trabajo
  3. Haga clic con el botón derecho en las propiedades del proyecto de la biblioteca -> Android -> Verifique "Nombre de destino" 4.x (cualquiera, API nivel 14,15 o 16). Verificación inferior "es la biblioteca".
  4. En propiedades, vaya a "Java Build Path", pestaña "Bibliotecas" y busque "android-support-v4.jar" normalmente en "Dependencias de Android". Aceptar y cerrar propiedades.
  5. Haga clic con el botón derecho en el proyecto de biblioteca Herramientas de Android -> Corregir propiedades del proyecto
  6. en Menú Proyecto -> Limpiar ... y seleccione para limpiar el Proyecto "Biblioteca".

En este lugar, su proyecto "biblioteca" debe hacerse (sin errores)

  1. Crea o importa tu propio proyecto. Ejemplo "MyProject"
  2. En propiedades, vaya a "Java Build Path", pestaña "Bibliotecas" y busque "android-support-v4.jar" normalmente en "Dependencias de Android".
  3. Ahora ve a la pestaña "Proyectos". Añadir ... y seleccionar el proyecto "biblioteca".
  4. Ahora en propiedades, vaya a Android -> Verifique "Nombre de destino" 4.x (cualquiera, API nivel 14,15 o 16). IMPORTANTE: Debe ser el mismo del proyecto "biblioteca". En la parte inferior, "Is Library" debe estar DESCARGADA y en este lugar, presione Agregar ... Y seleccione el proyecto "library". Aceptar y cerrar propiedades.
  5. Haga clic derecho en el proyecto "MyProject" Herramientas de Android -> Reparar propiedades del proyecto
  6. en el Proyecto de Menú -> Limpiar ... y seleccione para limpiar el Proyecto "MyProject".

Ya, tu proyecto debe ser hecho. Si el error persiste, reinicie Eclipse.


Mi procedimiento estándar para incluir un proyecto de biblioteca en Eclipse es el siguiente:

  • Proyecto de biblioteca de importación
  • Haga clic con el botón derecho en Propiedades del proyecto de biblioteca -> Android -> Establecer objetivo de compilación del proyecto (asegúrese de que la biblioteca y el proyecto principal sean los mismos)
  • Haga clic con el botón derecho en el proyecto de biblioteca Herramientas de Android -> Corregir propiedades del proyecto
  • Seleccione el proyecto de la biblioteca y luego Proyecto -> Limpiar ...
  • Seleccione el proyecto primario luego Proyecto -> Limpiar ...

Eso debería arreglar lo que te aflija.


Resolví este problema siguiendo los siguientes 2 pasos en mis proyectos:

  1. Elimine la "biblioteca" de "propiedades del proyecto" / construir ruta y agregue la biblioteca en "propiedades del proyecto" / Android / Biblioteca
  2. Haga clic derecho en el proyecto "Herramientas de Android" -> "Agregar biblioteca de soporte"

después de importar ambos proyectos, es decir, library y settingActivity, primero limpie y genérelos. Luego, haga clic con el botón derecho en el proyecto de configuración de la actividad-> propiedades-> seleccione la segunda opción del menú de la izquierda (es decir, Android). en el lado derecho de la sección de su biblioteca, simplemente haga clic en Agregar biblioteca. La ruta prper vendrá automáticamente en ese marco. Eso es resolver mi problema, no tengo errores.