Error inflating class android.Unterstützung.v7.- widget.Toolbar. Mein Fehler oder bug?
Hatte ich das folgende rendering-Problem auf alle meine layouts bei Verwendung von SDK-22, um eine Vorschau Ihnen.
Error inflating class android.Unterstützung.v7.- widget.Toolbar.
java.lang.NoSuchFieldError: View_theme
In meinem Fall war das problem styles.xml
:
XML mit rendering-problem:
<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 ohne problem:
<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>
Bemerken, wie ich hinzufügen musste @style/
in die parent-Referenz. Das scheint mein problem zu lösen (nach Neuaufbau).
Frage, ist das ein Fehler auf meiner Seite, oder ist das ein bug? Viele tutorials setzen Sie es nicht (Einschließlich Der Offiziellen Android-Seite)
Gradle:
compileSdkVersion 22
buildToolsVersion '22.0.1'
minSdkVersion 15
targetSdkVersion 22
classpath 'com.android.tools.build:gradle:1.1.0'
Letzte Anmerkung: ich bin nicht mit Toolbar.
- finden Sie unter diesem [link][1] dies kann Ihnen helfen [1]: stackoverflow.com/questions/29005958/...
- in meinem Fall bin ich in der Lage zu verwenden, SDK 22, aber nur wenn ich
@style
. Keine Notwendigkeit, ein downgrade zu SDK 21. - Nicht auf Grad das SDK nur ändern api-22 zu 21 in der layout-Datei .ich.e Vorschau 22 zu 21
- ja, ich meinte, dass. :). Durch das hinzufügen von @style, brauche ich nicht zu tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
EDIT :
Lesen von anderen ALSO Frage.
Wenn Ihre Tätigkeit erstreckt sich
AppCompactActivity
Ihre Eltern Thema solltewo, wie, wenn mit
ActionBarActivity
, Thema sollteALT :
Verwenden Symbolleiste als ein action-bar, die erste Sache, die Sie tun müssen, ist deaktivieren die Einrichtung zur Verfügung gestellt Aktionsleiste. Der einfachste Weg ist, um Ihr Thema erweitern von Thema.AppCompat.NoActionBar (oder die light-Variante).
Verwenden :
Aus diesem post.
In meinem Fall, die Lösung war so einfach wie
Hinzufügen
@style
zum übergeordneten Themaentfernen
android.support.v7.widget.
ausToolbar
verschieben von
app:theme
zuandroid:theme