Die folgenden Klassen konnten nicht gefunden werden: android.support.v7.internal.app.WindowDecorActionBar


114

Was verursacht den folgenden Fehler in der Layoutvorschau in Android Studio?

Rendering-Probleme Die folgenden Klassen konnten nicht gefunden werden: - android.support.v7.internal.app.WindowDecorActionBar (Build-Pfad korrigieren, Klasse erstellen) Tipp: Versuchen Sie, das Projekt zu erstellen.


14
als Off-Topic geschlossen? Ernsthaft? Diejenigen, die dafür gestimmt haben, dies zu schließen, verstehen die Frage definitiv überhaupt nicht.
Jahid

Antworten:


273

Die Aktionsleiste ist veraltet und wurde durch die Symbolleiste ersetzt. Abgesehen davon können Sie Folgendes tun, wenn Sie die Aktionsleiste vorerst weiterhin verwenden möchten:

  1. Öffnen Sie die Datei styles.xml im Ordner values ​​im Ordner res.
  2. Fügen Sie das Wort Base am Anfang des Themennamens hinzu, sodass es "Base.Theme.AppCompat.Light.DarkActionBar" lautet.

Geben Sie hier die Bildbeschreibung ein

Ich hatte heute das gleiche Problem und diese Lösung hat bei mir funktioniert. Zu Ihrer Information, ich bin zwar in Android Studio, aber hoffentlich ist die Lösung für Eclipse ähnlich.

Zu Ihrer Information, hier ist ein anständiger Blog-Beitrag zum Ersetzen der Aktionsleiste durch die Symbolleiste, wenn Sie dazu bereit sind: https://blog.xamarin.com/android-tips-hello-toolbar-goodbye-action-bar/


8
Nichts wie der Goog, der Dinge unter dir herauswechselt. Nochmal. Schöne Beobachtung @joshgoldeneagle!
Saywhatnow

7
Ich habe diesen Fehler beim Erstellen eines neuen Standardprojekts in Android Studio erhalten. Dies löste es.
AutonomousApps

Nach einem Tag Recherche bekam ich endlich das Problem. Vielen Dank @joshgoldeneale
Abish R

Wenn "Base.Theme.AppCompat.Light.DarkActionBar" nicht funktioniert, sollten Sie "Theme.Base.AppCompat.Light.DarkActionBar" ausprobieren, da es für mich funktioniert ... :) (android studio 3.0.1)
Mang Jojot

Sie sind fantastisch
Naveed Ahmad

46

Ich denke, Sie müssen "com.android.support:appcompat-v7:23.1.1"in Ihren moduleEinstellungen abhängig sein .

ActionBar wurde veraltet.

Ändern Sie einfach Ihre Abhängigkeiten von 'com.android.support:appcompat-v7:23.1.1'in 'com.android.support:appcompat-v7:23.0.1'in "build.gradle" .

Sie können auch Ihren übergeordneten Stil in ändern "Theme.AppCompat.Light.NoActionBar".

Versuchen Sie, das Toolbaranstelle von zu verwenden ActionBar.


32

Dieser arbeitet für mich

Das Ändern des übergeordneten AppTheme-Elements in res / values ​​/ styles.xml hat dieses Problem behoben. Ersetzen

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>

mit

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>

Oder Sie können die API-Ebene 21 aus der Liste ändern .


6
Das funktioniert, aber was genau macht es, wenn Sie Base.Theme setzen?
Micro

Android hat anstelle der Aktionsleiste eine Symbolleiste eingeführt, die die Ursache für diesen Fehler ist. Indem Sie sie jedoch in Base.Theme ändern, lösen Sie einfach das Problem. Standardmäßig ändert es sich nicht selbst (in der aktuellen Version von Android Studio), daher müssen wir dies manuell tun. Sie können auch die Antwort anderer durchgehen, die Ihnen dasselbe sagt. Entschuldigung, ich war im Projekt beschäftigt, kann also nicht schnell antworten.
Ravikant Paudel

9

gehe zu: res -> Werte -> Stile (V21) ->

Code

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

Wählen Sie Ihr Thema wie Apptheme.NoActionBarin der Vorschau . Weil ActionBarberaubt ist, willkommen zurück zu ToolBar. KEINE Notwendigkeit, Ihre Abhängigkeiten in zu ändern build.gradle(Module:app). von com.android.support:appcompat-v7:23.1.1bis com.android.support:appcompat-v7:23.0.1.

Hoffe das wird dir helfen !!!


8

Ich hatte ein ähnliches Problem, und wie viele gesagt haben, seit ActionBar veraltet ist, bestand der Trick darin, es anzugeben

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

HINWEIS: Das übergeordnete Element endet mit .NoActionBar.

Seit ActionBar veraltet ist, verwendet Android ToolBar, über das Sie hier auf developer.android.com lesen können

Ich habe versucht zu spezifizieren

<style name="AppTheme.NoActionBar">

Wie ein anderer Beitrag sagte und das warf Fehler. Obwohl andere dieses Problem möglicherweise nicht haben.


4

Ich habe das gleiche Problem in Android Studio 1.5 (auch mit AppCompatActivity) und mein Versuch, das Problem zu lösen, bestand darin, mein Android Studio auf 2.0 zu aktualisieren. Es löst das Problem in meinem Fall. Sie finden den Link-Download unter: http://tools.android.com/download/studio/canary/latest


Außerdem läuft Android Studio 2.0 sofort, was meiner Meinung nach sehr cool ist. Mein Code wird sofort auf meinem Gerät aktualisiert. Sie sollten das wirklich ausprobieren.
Ninjahoahong


3

danke @joshgoldeneagle, arbeitete in AS v1.4 für mich. In AS ist es auch effektiv, "build.gradle (Module.app)" zu öffnen und die Version von v7.23.1.1 auf v7.23.0.1 -hth zu ändern


2

Schnelle Lösung

Wählen Sie im UI Preview Tool ein Thema ohne AtcionBar aus
Wählen Sie die Bildschaltfläche Geben Sie hier die Bildbeschreibung ein


2

Sie müssen die API-Rendering-Ebene auf 17 ändern. Möglicherweise liegt ein Rendering-Problem mit Apis auf höherer Ebene vor. Möglicherweise haben Apis auf höherer Ebene ein Standardthema und hoffen, dass Sie keine angegeben haben.

Geben Sie hier die Bildbeschreibung ein


1

Für AS v1.4 wurde das Problem durch Hinzufügen von "Base" vor Theme.AppCompat.Light.DarkActionBar im Ordner styles.xml behoben

Darüber hinaus wurde das Problem durch ein Update auf AS v2.1 behoben. Was wahrscheinlicher ist, hängt von den Mitarbeitern und ihrer AS-Version ab.


0

In res / values ​​/ styles.xml finden Sie Ihr AppTheme wie folgt: -

Ändern Sie es in: -

Durch Hinzufügen von "Base" wird das Rendering-Problem behoben.


0

Das Ändern des Themas im Manifest löste mein Problem.

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.