it-swarm.com.de

android.view.inflateexception Binär-XML-Datei Zeile # 1 Fehler beim Aufblasen der Klasse Android.widget.relativeLayout

Ich bin neu in Android.
Ich habe gerade ein neues Layout mit einer Textleiste und 2 Schaltflächen erstellt, aber es hat nicht funktioniert. Ich poste den Stack-Trace und meine relative Layout-Datei. Ich habe dort die gleiche Frage gesehen, die besagt, die Zeichengröße zu verringern. Aber es half in meinem Fall nicht, oder ich habe jetzt nicht viel darüber nachgedacht, wie ich es verringern könnte ... Hier ein paar meiner Stack-Spuren:

  D/AndroidRuntime(1192): Shutting down VM
W/dalvikvm(1192): threadid=1: thread exiting with uncaught exception (group=0xb60cc4f0)
E/AndroidRuntime(1192): FATAL EXCEPTION: main
E/AndroidRuntime(1192): Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hellomissworld/com.example.hellomissworld.MainActivity}: Android.view.InflateException: Binary XML file line #1: Error inflating class Android.widget.RelativeLayout
E/AndroidRuntime(1192):at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:1647)
12-24 18:58:31.451: E/AndroidRuntime(1192):     at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:1663)
12-24 18:58:31.451: E/AndroidRuntime(1192):     at Android.app.ActivityThread.access$1500(ActivityThread.Java:117)
12-24 18:58:31.451: E/AndroidRuntime(1192):     at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:931)

und das ist die XML-Datei von layout:

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:layout_width="wrap_content"
    Android:layout_height="match_parent"
    Android:background="@layout/activity_main"
    Android:focusable="false"
    Android:paddingBottom="@dimen/activity_vertical_margin"
    Android:paddingLeft="@dimen/activity_horizontal_margin"
    Android:paddingRight="@dimen/activity_horizontal_margin"
    Android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <EditText
        Android:id="@+id/editText1"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentLeft="true"
        Android:layout_alignParentRight="true"
        Android:layout_marginTop="24dp"
        Android:ems="10"
        Android:inputType="text" >

        <requestFocus />
    </EditText>

    <TextView
        Android:id="@+id/textView1"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignLeft="@+id/editText1"
        Android:layout_alignParentTop="true"
        Android:text="@string/typehere"
        Android:textAppearance="?android:attr/textAppearanceMedium" />

    <Button
        Android:id="@+id/button2"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignRight="@+id/editText1"
        Android:layout_below="@+id/editText1"
        Android:text="@string/ok" />

    <Button
        Android:id="@+id/button1"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_below="@+id/editText1"
        Android:layout_toLeftOf="@+id/button2"
        Android:text="@string/cancel" />

</RelativeLayout>
16
jazz b

Du musst dich ändern

Android:background="@layout/activity_main"

zu

Android:background="@drawable/yourImageName"
14
Piyush

Manchmal kann dieser Fehler auch auftreten, wenn Sie ein großes Bild verwenden, das tatsächlich zu groß ist und zu einem Speicherfehler führt und Ihre App zum Absturz bringt. Wenn Sie Hintergrundbilder oder große Assets verwenden, stellen Sie sicher, dass diese vorhanden sind und nicht zu groß sind. Dann werden Sie im Regen singen!

10
ColossalChris

diese Zeile zeigt die erste Zeile des Layouts an:

Android.view.InflateException: Binary XML file line #1: Error inflating class 

und in der ersten Zeile gibt es Relative Layoutdeklaration:

Der Fehler ist also auf Android:background, und Dies ist nicht der richtige Weg, um den Hintergrund des Layouts einzustellen:

Android:background="@layout/activity_main"

es sollte ein farb- oder zeichnungsfähiges Bild sein

Android:background="@color/backgroundColor" oder Android:background="#012345" 

oder

Android:background="@drawable/backgroundimg"
9
Hamad

Dies ist falsch Android:background="@layout/activity_main" sollte sein 

Android:background="@color/backgroundColor" 

oder 

Android:background="@drawable/backgroundimg"

In meinem Fall wurde der Ort meines color.xml geändert. 

Als ich es von einem anderen Projekt kopierte und in das neue Projekt einfügte, platzierte es in Android v21, was bedeutet, dass mein Emulator (v19) die Ressourcendatei color.xml nicht erreichen konnte.

Ich habe folgendes getan, um das Problem zu beheben:

  1. Klicken Sie mit der rechten Maustaste auf color.xml.
  2. Wählen Sie Refactor> Move.
  3. In dem sich öffnenden Dialogfeld wurde das Suffix -v21 entfernt.

Nun konnte mein "alter" Emulator die Datei lesen.

Ich hoffe, es hilft..

2
Barakuda

Ich hatte das gleiche Problem - aber bei einer Aktivität, die kein Hintergrundbild hatte.

Ich habe herausgefunden, dass der GUI-Editor (bei Verwendung von Eclipse - ich kenne Android Studio nicht) manchmal ohne Grund die fehlerhafte Eigenschaft hinzufügt:

Android:background="@layout/activity_main"

Ich bin nicht sicher, warum der Editor das tut - vielleicht handelt es sich um einen Fehler oder einfach um einen Verwendungsfehler.

Wenn die Aktivität jedoch kein Hintergrundbild hat, muss die gesamte Eigenschaft einfach gelöscht werden!

0
Martin Rosenau