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.

Rahul
quelle
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/

Joshgoldeneagle
quelle
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.

Gut aussehend
quelle
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 .

Ravikant Paudel
quelle
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 !!!

Narendra Baratam
quelle
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.

john.weland
quelle
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

Ninjahoahong
quelle
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
Ich
Vdragon
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

über
quelle
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

vovahost
quelle
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

Bajrang Hudda
quelle
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.

devin e
quelle
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.

JayJoshi
quelle
0

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

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