Layout <layout - > layout hat keine Erklärung in der Basis-layout-Ordner [Fehler]
Nach der Migration von Eclipse auf die neue version von Android Studio 3.2, API-28, ich erhalte die folgende Fehlermeldung auf meiner app-layout:
Layout im layout hat keine Erklärung in der Basis-layout
Ordner; das kann zu Abstürzen führen, wenn die Ressource, die abgefragt wird, in einem
Konfiguration, die nicht mit diesem Beinamen
Eines der layouts, die ich erhalte diese Fehlermeldung:
<?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>
Bekomme ich die Fehlermeldung in der ersten Zeile der ersten LinearLayout.
Weiß jemand, wie man dieses Problem lösen Fehler?
Danke
UPDATE:
Es scheint ein encoding-Problem. Ich hatte kopiert die xml-Dateien in den Ordner mit Windows Explorer. Nach dem löschen der Dateien und das schaffen Sie in Android Studio, das problem wurde gelöst.
- Kemp einmal show me u r logcat
- eigentlich ist die app ohne Fehler ausgeführt wird. Ich kann einfach den Fehler, sobald ich die xml-Datei öffnen, aber das layout der xml-Datei wird normal ausgeführt
- fill_parent ist veraltet, da API-8 und ersetzt mit match_parent ViewGroup.LayoutParams
- Vielen Dank für deinen Rat, allerdings habe ich schon gewusst, ich bin entfernt, veraltet code, wenig durch wenig.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In meinem Fall dem schließen und erneuten öffnen Android studio das problem gelöst. Wiederaufbau-Projekt oder Invalidieren des cache hat nicht geholfen.
Können Sie auch versuchen, diese :
Datei => Invalidate Caches /Neustart => für Ungültig erklärt und neu Starten.
Wenn Sie entwerfen Ihr layout ist :
layout-sw320dp
layout-sw480dp
layout-sw600dp
layout-sw720dp
sollten Sie layout Standard
wie diese:
In meinem Fall habe ich beschlossen, dass mit diese:
dem Android sagen, dass mir diese - id-Fehler:MissingDefaultResource als Dokumentation sagen:
Aber das ist die einfache Lösung, 'Ursache, die Sie machen fehlt die resourse in Android.
Ich dieses Problem beheben mit Dateisystem option. Wenn Android sagen Sie über fehlende resourse Bedeutung, eine Sache fehlt-und man sollte ergänzen, dass.
sollten Sie werden, gehen Sie zu \app\src\main\res
vielleicht: Rechte Maustaste auf der Datei die fehlenden Ordner, zeigen Sie im Exporer,und gehen Sie zurück zu \app\src\main\res
Sollten Sie finden
Sollten Sie finden wo kommen die Dateien fehlt. In meinem Fall fehlt in /layout
Erhielt ich diese Fehlermeldung beim verschieben von layout-Dateien zwischen Gradle-Module. Ich hatte nicht so weit gehen, zu entkräften caches als es löste sich, als ich neu gestartet Android Studio und gereinigt das Projekt. Wahrscheinlich ein IDE-bug.
In meinem Fall scheint es, dass Google verwendet, um zu erwarten (oder zumindest akzeptieren) verschiedene Namen, die zwischen verschiedenen layouts; ich hatte eine
time_dialog.xml
und eintime_dialog_landscape.xml
. Die Umbenennung der letzteren zutime_dialog.xml
das problem behoben.Diesem Thema zu geschehen scheint, weil das studio oder der compiler ist nicht in der Lage zu finden, die Ressource-Datei in das base-layout-Ordner. Um das problem zu lösen müssen Sie möglicherweise erstellen Sie die Datei in verschiedene layout-Ordner. Wenn Sie mit layout-Ordner, v21, v25, etc. Ordner für die Gestaltung von layouts für verschiedene Ziel-Geräte dann könnten Sie auch brauchen, um Ihre Ressource-Dateien gibt es auch.
In meinem Fall diese Warnung erschien, durch "falsche" Zeichen (Punkt) in-Wert-name:
Dots entfernen (klicken Sie rechts auf einen Namen, dann Refactor-Rename in Android Studio) ist das problem behoben.
Ich löste dieses Problem, indem Sie einfach die Synchronisierung Projekt mit gradle