Error al inflar la clase android.support.v7.widget.Toolbar. ¿Mi error o error?

Tuve el siguiente problema de representación en todos mis diseños al utilizar SDK 22 para previsualizarlos.

Error al inflar la clase android.support.v7.widget.Toolbar.

Java.lang.NoSuchFieldError: View_theme

En mi caso, el problema era styles.xml :

XML con problema de representación:

 <resources> <style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar" /> <!-- Base application theme. --> <style name="AppTheme" parent="AppBaseTheme"> <item name="colorPrimary">@color/primary</item> <item name="colorPrimaryDark">@color/primary_dark</item> <item name="colorAccent">@color/accent</item> <item name="android:textColorPrimary">@color/primary_text</item> </style> </resources> 

XML sin problema:

 <resources> <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar" /> <!-- Base application theme. --> <style name="AppTheme" parent="AppBaseTheme"> <item name="colorPrimary">@color/primary</item> <item name="colorPrimaryDark">@color/primary_dark</item> <item name="colorAccent">@color/accent</item> <item name="android:textColorPrimary">@color/primary_text</item> </style> </resources> 

Observe cómo tuve que añadir @style/ en la referencia padre. Eso parece resolver mi problema (después de una reconstrucción).

Pregunta, ¿es un error de mi parte, o un error? Muchos tutoriales no lo ponen ( incluida la página oficial de Android )

Gradle:

 compileSdkVersion 22 buildToolsVersion '22.0.1' minSdkVersion 15 targetSdkVersion 22 classpath 'com.android.tools.build:gradle:1.1.0' 

Nota final: No estoy usando la barra de herramientas.

EDIT:

Lectura de otra pregunta .

Si su actividad amplía AppCompactActivity , el tema principal debe ser

 <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar" /> 

Donde como, si se utiliza ActionBarActivity , el tema debe ser

 <style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar" /> 

Creo que la diferencia es a propósito, y no un error. Por favor, siéntase libre de corregirme si estoy equivocado, ya que no puedo conferm el mismo desde cualquier lugar todavía.

ANTIGUO :

Para usar la Barra de herramientas como barra de acción, lo primero que debe hacer es desactivar la barra de acción proporcionada por la decoración. La forma más fácil es que su tema se extienda desde Theme.AppCompat.NoActionBar (o la variante de luz).

Utilizar :

 <style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar" /> 

De este post.

En mi caso, la solución era tan simple como

  1. Agregar @style al tema principal

     <style name="AppTheme" parent="@style/Theme.AppCompat.Light.NoActionBar"> 
  2. Eliminar android.support.v7.widget. De la Toolbar de Toolbar

  3. Pasar de la app:theme a android:theme

     <Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/toolbar" android:layout_height="wrap_content" android:layout_width="match_parent" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> 
  • ¿Cómo escuchar el cambio de estado en el widget SwitchCompat?
  • ActionBarCompat muestra todas las acciones en el menú de desbordamiento
  • java.lang.IllegalStateException: Necesita usar un tema Theme.AppCompat (o descendente) con esta actividad
  • ¿Por qué `text_size_body` tiene un tamaño diferente en la librería AppCompat y Android Lollipop?
  • Android: Capaz de hacer clic a través del cajón de nav? AppCompat v7: r21
  • No se encuentra recurso Theme.AppCompat.Light en Android Studio
  • Appcompat-v7: 21.0.0 no funciona con el servicio de Google Play 6.1+
  • Animación ActionBarDrawerToggle
  • "Botón Atrás" mediante la barra de herramientas getSupportActionbar y appcompat v7
  • Teñido de MenuItem en la barra de herramientas de AppCompat
  • Cómo utilizar setOutlineProvider en lugar de setOutline en Lollipop
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.