Das Layout im Layout hat keine Deklaration im Basislayoutordner [error]

Lesezeit: 4 Minuten

Benutzer-Avatar
L Kemp

Nach der Migration zu Android Studio 3.2, API 28, erhalte ich den folgenden Fehler im Layout meiner App:

Das Layout im Layout hat keine Deklaration im Basislayoutordner; dies kann zu Abstürzen führen, wenn die Ressource in einer Konfiguration abgefragt wird, die nicht mit diesem Qualifizierer übereinstimmt

Eines der Layouts, bei denen ich diesen Fehler bekomme, ist:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@null" >

      <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="top|center_horizontal"
            android:adjustViewBounds="true"
            android:contentDescription="@string/hello_world"
            android:src="@drawable/loading_top" />

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|center_horizontal"
            android:adjustViewBounds="true"
            android:contentDescription="@string/hello_world"
            android:src="@drawable/loading_bottom" />

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:contentDescription="@string/hello_world"
            android:background="@color/white"
            android:layout_marginBottom="5dp"
            android:paddingTop="10dp"
            android:paddingBottom="10dp"
            android:src="@drawable/loading_logo" />

        <ImageView
            android:id="@+id/loading"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center|center_vertical"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/hello_world"
            android:scaleType="fitXY"
            android:src="@null" />
    </FrameLayout>
</LinearLayout>

Ich bekomme den Fehler in der ersten Zeile des ersten LinearLayout.

Weiß jemand, wie man diesen Fehler beheben kann?

Vielen Dank

UPDATE: Beantwortet meine Frage mit dem, was das Problem für mich gelöst hat

  • @L Kemp zeig mir einmal deinen Logcat

    – Vijaya Varma Lanke

    28. September 2018 um 5:25 Uhr

  • @Varma tatsächlich läuft die App ohne Fehler. Ich kann den Fehler nur sehen, sobald ich die XML-Datei öffne, aber das Layout dieser XML-Datei wird normal ausgeführt

    – L Kemp

    28. September 2018 um 5:39 Uhr


  • fill_parent ist seit API 8 veraltet und wurde durch match_parent ersetzt ViewGroup.LayoutParams

    – Mahdi Javaheri

    6. Oktober 2018 um 14:14 Uhr


  • @MahdiJavaheri Vielen Dank für Ihren Rat, aber das habe ich bereits gewusst, ich entferne diesen veralteten Code nach und nach.

    – L Kemp

    9. Oktober 2018 um 1:19 Uhr

  • In meinem Fall war es ein Problem im Zusammenhang mit dem Dateinamen. Sie können dies auch überprüfen, indem Sie Ihre Datei in Kapitälchen umbenennen

    – Akash Kumar

    29. März 2020 um 12:23 Uhr

Benutzer-Avatar
vovahost

In meinem Fall Schließen und Wiedereröffnen von Android Studio Problem gelöst. Das Projekt neu erstellen oder den Cache leeren hat nicht geholfen.

  • Ich sehe dies jedes Mal, wenn ich eine neue Layoutdatei hinzufüge. Neustart/Neuaufbau behebt es, aber hat jemand die Ursache dafür gefunden?

    – HBB20

    17. April 2020 um 16:47 Uhr


  • Beachten Sie, dass Build > Clean Project das Problem für mich gelöst hat.

    – Kraigolas

    27. Oktober 2020 um 20:11 Uhr

Sie können dies auch versuchen:

Datei => Caches ungültig machen / Neustart => Ungültig machen und neu starten.

Bildschirmfoto

  • Ja, es hilft, aber seltsam, dass in früheren Versionen Build > Rebuild Project geholfen hat. Sie haben etwas abgestürzt.

    – CoolMind

    11. Oktober 2018 um 15:57 Uhr

  • Ich habe Ihnen ein Plus hinzugefügt, da Ihre Lösungen für AS 3.2 funktionieren (in meinem Fall ohne Eclipse).

    – CoolMind

    16. Oktober 2018 um 7:03 Uhr


  • Hat für mich funktioniert! Vielen Dank.

    – Großartige Neuigkeiten

    22. Januar um 22:07 Uhr

Invalidate Cache / Restart hat mein Problem gelöst.

In meinem Fall war es die Verwendung von Großbuchstaben im Dateinamen. Ich habe alles in Kleinbuchstaben gelassen und es wurde behoben.

Benutzer-Avatar
Ayoub Anbara

Wenn Sie Ihr Layout entwerfen: Layout-sw320dp Layout-sw480dp Layout-sw600dp Layout-sw720dp ….

Sie sollten das Layout standardmäßig wie folgt hinzufügen:

Geben Sie hier die Bildbeschreibung ein

  • Das war die Lösung für mich, danke!

    – Kapitän Jack Sparrow

    27. Juni um 14:46 Uhr

Benutzer-Avatar
rmirabelle

Ich habe es gerade getan Build > Clean Project

  • Das war die Lösung für mich, danke!

    – Kapitän Jack Sparrow

    27. Juni um 14:46 Uhr

Benutzer-Avatar
Raul

Ich habe diesen Fehler erhalten beim Verschieben von Layoutdateien zwischen Gradle-Modulen. Ich musste nicht so weit gehen Caches ungültig machen wie es sich nach dem Neustart von selbst gelöst hat Android Studio und das Projekt gereinigt. Es scheint wahrscheinlich eine zu sein IDE-Fehler.

1344990cookie-checkDas Layout im Layout hat keine Deklaration im Basislayoutordner [error]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy