FEHLER: Renderprobleme Die folgenden Klassen konnten nicht gefunden werden: android.support.v7.internal.widget.ActionBarOverlayLayout


97

Ich bin nur ein Anfänger in der Entwicklung von Android-Apps. Wenn ich ein neues Projekt unter Android Studio 1.1.0 erstellt habe, wird der Fehler " Rendering-Probleme Die folgenden Klassen konnten nicht gefunden werden android.support.v7.internal.widget.ActionBarOverlayLayout " angezeigt.

Jetzt habe ich auf Google danach gesucht und möglicherweise 3 Lösungen gefunden, die von den meisten Leuten gegeben wurden.

Man sagt:

  1. Ändern Sie entweder die API (im Vorschaufensterfenster) von 22 auf 21 oder

  2. Ändern Sie das App-Thema von "Projektthema" in ein anderes Thema.

  3. Stellen Sie sicher, dass Sie die richtige appcompat-v7-Bibliothek in Ihre Projektstruktur importiert haben -> Abhängigkeiten. Befolgen Sie diese Schritte : Fügen Sie dem Abschnitt Abhängigkeiten die Projektkennung für die Support-Bibliotheksfunktion hinzu. Um beispielsweise das Appcompat-Projekt einzuschließen, fügen Sie dem Abschnitt "Abhängigkeiten" die Kompilierung "com.android.support:appcompat-v7:18.0.+" hinzu, wie im folgenden Beispiel gezeigt:

dependencies {
    ...
    compile "com.android.support:appcompat-v7:18.0.+" }

Hinweis: Meine Android-Support-Bibliothek ist auf dem neuesten Stand (mit SDK Manager installiert).

Beheben Sie den Fehler nach den ersten beiden Schritten. Ich bin jedoch der Meinung, dass dies keine dauerhaften Lösungen sind. Der zweite Schritt scheint nur eine vorübergehende Problemumgehung zu sein. Ich habe auch Zweifel an dem ersten Schritt, dass wenn wir den Fehler beseitigen, wir die API von 22 auf 21 ändern und unsere App am Ende nicht in Android 5.1.1 (API 22) funktioniert, sondern auf Android 5.0 beschränkt ist Nur .1 und niedriger (API 21). Sind meine Zweifel berechtigt? Ist der dritte Schritt die dauerhafte Lösung für dieses Problem?

PS: Es tut uns leid, dass Tags nicht übereinstimmen. Aufgrund der Reputation der Website durften keine genauen Tags hinzugefügt werden


1
Für mich lösen selbst die ersten beiden Schritte das Problem nicht ... Ich bekomme "Rendering-Probleme" mit allen Layouts, die Ansichten von android.support haben. *. Das ist frustrierend!
user1987392

Antworten:


162

Fix res / Werte / styles.xml wie folgt:

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

Detaillierte Erklärung wie gewünscht: Theme.AppCompat.Light.DarkActionBarist Basesowieso eine Unterklasse der Oberklasse . Klicken Sie bei gedrückter Strg-Taste (Android Studio) darauf und Sie werden zur Quelle weitergeleitet:

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

Wir haben nichts geändert, wir haben es nur genauer definiert.


29
Wow, was für ein lahmes Out-of-Box-Erlebnis in Android Studio.
Warren P

6
Wenn ich "Theme.AppCompat.Light.NoActionBar" verwenden möchte, was dann?
Haseeb Jadoon

4
Seltsamerweise das Wort "Basis" hinzufügen. arbeitete für mich. "Alle deine Stützpunkte gehören uns."
SMBiggs

1
Hat auch für mich funktioniert ... Ich arbeite an einer alten App und die Base hat den Fehler behoben!
Saeid Yazdani

1
Warum behebt die genaue Definition des Themas das Problem?
Robert

28

Dies ist ein bekannter Fehler seit Android Studio Build 1.1 (es ist auch noch in 1.2 und 1.3 Vorschau). Durch Ändern der API-Ebene der Vorschau von 22 auf 21 wird das Problem für die meisten Benutzer behoben. Während Sie auf eine Lösung warten, können Sie es auch versuchen.

Geben Sie hier die Bildbeschreibung ein

Ursprünglich hier beantwortet: Renderprobleme in Android Studio v 1.1 / 1.2

Nur umbuchen


16

Ändern Sie src / res / values ​​/ styles.xml

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>

Wählen Sie dann API22, Sie werden feststellen, dass dieses Problem behoben ist!


3

Nach diesem Fehler verwende ich:

API-22 Android 5.1.1 und immer noch dieses Problem besteht. Sie können jedoch oben in der Android Studio-Symbolleiste Folgendes auswählen:

Material Light -> Material Light

und dann können Sie die Vorschau mit Symbolleiste und Lichtthema sehen.

Hoffe das hilft.


1

Ich habe dieses Problem behoben, indem ich zum Holo Dark-Thema und dann zurück zum App-Thema gewechselt habe. Ich habe gerade auf die Schaltfläche über dem Viewer geklickt, auf der das App-Thema neben der Drehansicht in Android Studio steht. In ungefähr 10% der Fälle funktioniert das alleine nicht und ich muss auch die API des Viewers von 22 auf 19 ändern.

Keine Ahnung, warum das funktioniert, aber die oben genannten Vorschläge haben bei mir nicht funktioniert.


0

Sie müssen das Thema nicht ändern. Vielleicht erweitern Sie ActionBarActivity (veraltet) anstatt nur Activity. Ändern Sie es und erstellen Sie das Projekt.


Neue Regeln @Kleyton, Anstatt ActionBarActivity (das jetzt veraltet ist) zu erweitern, wird empfohlen, AppCompatActivity (gemäß den Google Android-Entwicklerseiten) zu erweitern.
Ashish Goyal

0

Wenn Sie die Aktivität von ActionBarActivity in "Nur Aktivität" ändern, vergessen Sie nicht, die Aktivität selbst zu importieren. Das ist

android.app.Activity importieren

Es ist scheiße, aber hey, es ist ihre Schuld und nicht unsere.

Sie können das Thema auch einfach ändern, indem Sie auf "AppTheme" klicken und Holo.Light.DarkActionBar auswählen. Die Datei styles.xml wird automatisch aktualisiert. Erstellen Sie anschließend das Projekt neu.

Ich habe all dies getan und es funktioniert für mich, obwohl ich denke, dass die Leute bei Google und IntelliJ etwas gegen dieses Rendering-Problem unternehmen sollten, da uns gesagt wurde, wir sollen von Eclipse zu Android Studio wechseln


Neue Regeln sind aufgetaucht, Bruder! Anstatt ActionBarActivity (das jetzt veraltet ist) zu erweitern, wird empfohlen, AppCompatActivity (gemäß den Google Android-Entwicklerseiten) zu erweitern.
Ashish Goyal

Funktioniert es genauso wie Aktivität? Und kümmert es sich um die XML-Rendering-Probleme?
Andrecon

Laut Google Android-Entwicklerseiten kümmert sich (AppCompatActivity) um alles, was ActionBarActivity früher getan hat
Ashish Goyal,
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.