webentwicklung-frage-antwort-db.com.de

Binäre XML-Dateizeile # 0: Fehler beim Aufblasen der Klasse ImageView

Ich verwende Android Studio 3.0
Ich werde müde, dieses Problem zu lösen. Die App wird nicht ausgeführt. Es wird immer dieser Fehler angezeigt. Binäre XML-Datei Zeile 0: Fehler beim Aufblasen der Klasse ImageView

dies ist meine main_activity.xml. Ich habe meine XML geändert, die ich ConstraintLayout verwendet habe

  <?xml version="1.0" encoding="utf-8"?>
 <Android.support.constraint.ConstraintLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context="com.example.razoo.mywages.MainActivity">

<ImageView
    Android:id="@+id/imageView2"
    Android:layout_width="wrap_content"
    Android:layout_height="517dp"
    Android:contentDescription="@string/button3"
    Android:scaleType="fitXY"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    Android:src="@drawable/doctor" />

<Button
    Android:id="@+id/step1btn"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_margin="4dp"
    Android:background="@color/colorPrimary"
    Android:onClick="nextPage"
    Android:text="@string/button3"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.498"
    tools:layout_alignParentEnd="true"
    tools:layout_alignParentRight="true"
    tools:layout_alignParentTop="true"
    />

<Button
    Android:id="@+id/button3"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_margin="16dp"
    Android:background="@color/colorPrimary"
    Android:text="@string/button3"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    tools:layout_alignParentEnd="true"
    tools:layout_alignParentRight="true"
    tools:layout_alignParentTop="true" />

Java-Code für die Hauptaktivität

public class MainActivity extends Activity {
Button btn1;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);//the error point here
    btn1 = (Button) findViewById(R.id.step1btn);


}
public void nextPage(View view){
    Intent StartNewActivity = new Intent(MainActivity.this, Main2Activity.class);
    startActivity(StartNewActivity);

  }
 }

das ist das vollständige Protokoll,

  Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.razoo.mywages/com.example.razoo.mywages.MainActivity}: Android.view.InflateException: Binary XML file line #0: Error inflating class Android.widget.ImageView
                  at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2305)
                  at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2365)
                  at Android.app.ActivityThread.access$800(ActivityThread.Java:148)
                  at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1283)
                  at Android.os.Handler.dispatchMessage(Handler.Java:102)
                  at Android.os.Looper.loop(Looper.Java:135)
                  at Android.app.ActivityThread.main(ActivityThread.Java:5272)
                  at Java.lang.reflect.Method.invoke(Native Method)
                  at Java.lang.reflect.Method.invoke(Method.Java:372)
                  at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:909)
                  at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:704)
               Caused by: Android.view.InflateException: Binary XML file line #0: Error inflating class Android.widget.ImageView
                  at Android.view.LayoutInflater.createView(LayoutInflater.Java:633)
                  at com.Android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.Java:55)
                  at Android.view.LayoutInflater.onCreateView(LayoutInflater.Java:682)
                  at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:741)
                  at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:806)
                  at Android.view.LayoutInflater.inflate(LayoutInflater.Java:504)
                  at Android.view.LayoutInflater.inflate(LayoutInflater.Java:414)
                  at Android.view.LayoutInflater.inflate(LayoutInflater.Java:365)
                  at com.Android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.Java:387)
                  at Android.app.Activity.setContentView(Activity.Java:2188)
                  at com.example.razoo.mywages.MainActivity.onCreate(MainActivity.Java:16)
                  at Android.app.Activity.performCreate(Activity.Java:5977)
                  at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1105)
                  at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2258)
                  at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2365) 
                  at Android.app.ActivityThread.access$800(ActivityThread.Java:148) 
                  at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1283) 
                  at Android.os.Handler.dispatchMessage(Handler.Java:102) 
                  at Android.os.Looper.loop(Looper.Java:135) 
                  at Android.app.ActivityThread.main(ActivityThread.Java:5272) 
                  at Java.lang.reflect.Method.invoke(Native Method) 
                  at Java.lang.reflect.Method.invoke(Method.Java:372) 
                  at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:909) 
                  at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:704) 
               Caused by: Java.lang.reflect.InvocationTargetException
                  at Java.lang.reflect.Constructor.newInstance(Native Method)
                  at Java.lang.reflect.Constructor.newInstance(Constructor.Java:288)
                  at Android.view.LayoutInflater.createView(LayoutInflater.Java:607)
                  at com.Android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.Java:55) 
                  at Android.view.LayoutInflater.onCreateView(LayoutInflater.Java:682) 
                  at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:741) 
                  at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:806) 
                  at Android.view.LayoutInflater.inflate(LayoutInflater.Java:504) 
                  at Android.view.LayoutInflater.inflate(LayoutInflater.Java:414) 
                  at Android.view.LayoutInflater.inflate(LayoutInflater.Java:365) 
                  at com.Android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.Java:387) 
                  at Android.app.Activity.setContentView(Activity.Java:2188) 
                  at com.example.razoo.mywages.MainActivity.onCreate(MainActivity.Java:16) 
                  at Android.app.Activity.performCreate(Activity.Java:5977) 
                  at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1105) 
                  at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2258) 
                  at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2365) 
                  at Android.app.ActivityThread.access$800(ActivityThread.Java:148) 
                  at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1283) 
                  at Android.os.Handler.dispatchMessage(Handler.Java:102) 
                  at Android.os.Looper.loop(Looper.Java:135) 
                  at Android.app.ActivityThread.main(ActivityThread.Java:5272) 
                  at Java.lang.reflect.Method.invoke(Native Method) 
                  at Java.lang.reflect.Method.invoke(Method.Java:372) 
                  at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:909) 
                  at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:704) 
               Caused by: Android.content.res.Resources$NotFoundException: Resource "com.example.razoo.mywages:drawable/doctor" (7f060054)  is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f060054 a=-1 r=0x7f060054}
                  at Android.content.res.Resources.loadDrawableForCookie(Resources.Java:2431)
                  at Android.content.res.Resources.loadDrawable(Resources.Java:2371)
                  at Android.content.res.TypedArray.getDrawable(TypedArray.Java:749)
                  at Android.widget.ImageView.<init>(ImageView.Java:146)
                  at Android.widget.ImageView.<init>(ImageView.Java:135)
                  at Android.widget.ImageView.<init>(ImageView.Java:131)
                  at Java.lang.reflect.Constructor.newInstance(Native Method) 
                  at Java.lang.reflect.Constructor.newInstance(Constructor.Java:288) 
                  at Android.view.LayoutInflater.createView(LayoutInflater.Java:607) 
                  at com.Android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.Java:55) 
                  at Android.view.LayoutInflater.onCreateView(LayoutInflater.Java:682) 
                  at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:741) 
                  at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:806) 
                  at Android.view.LayoutInflater.inflate(LayoutInflater.Java:504) 
                  at Android.view.LayoutInflater.inflate(LayoutInflater.Java:414) 
                  at Android.view.LayoutInflater.inflate(LayoutInflater.Java:365) 
                  at com.Android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.Java:387) 
                  at Android.app.Activity.setContentView(Activity.Java:2188) 
                  at com.example.razoo.mywages.MainActivity.onCreate(MainActivity.Java:16) 
                  at Android.app.Activity.performCreate(Activity.Java:5977) 
                  at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1105) 
                  at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2258) 
                  at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2365) 
                  at Android.app.ActivityThread.access$800(ActivityThread.Java:148) 
                  at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1283) 
                  at Android.os.Handler.dispatchMessage(Handler.Java:102) 
                  at Android.os.Looper.loop(Looper.Java:135) 
                  at Android.app.ActivityThread.main(ActivityThread.Java:5272) 
                  at Java.lang.reflect.Method.invoke(Native Method) 
                  at Java.lang.reflect.Method.invoke(Method.Java:372) 
                  at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:909) 
                  at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:704) 
12
Israa Alothman

Einige SVG-Quellen scheinen nicht vollständig unterstützt zu werden. Fügen Sie in der onCreate () - Methode Ihrer Aktivität die folgende Zeile hinzu:

AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);

stellen Sie sicher, dass Sie unten in Ihrer XML-Datei als Attribut für ImageView verwenden: app: srcCompact anstelle von Android: src, um Ihr Image zu definieren.

5
HaroldSer

In Android Studio Version 3.0.0 und höher werden Sie nach dem Hinzufügen von Bildern zum Zeichnungsordner aufgefordert, "Zielverzeichnis auswählen" auszuwählen. Wählen Sie zu diesem Zeitpunkt drawable anstelle von drawable-v24.

 <code>enter image description here</code>

Codierung beibehalten ........ :)

29

fügen Sie Ihr Bild nicht in drawable (v-24) ein, fügen Sie es in den drawable-Ordner ein Reinigen Sie das Projekt und führen Sie es aus. Dann wird es funktionieren.

14
S H Mehdi

Lösung für diese Art von Problem: Binäre XML-Datei Zeile 0: Fehler beim Aufblasen der Klasse ImageView

Lösung:

  1. Überprüfen Sie Ihren Image-Ordner, ob sich die Image-Datei in Drawer oder Drawer-24 befindet oder nicht. Beispiel hier

Firebase-Image-Datei befindet sich in Drawer-24

  1. Wenn sich die Bilddatei in der Schublade 24 befindet, wählen Sie Rechtsklick die Datei aus und wählen Sie Refactor aus und klicken Sie dann auf Verschieben

  2. Entfernen Sie dann das Wort "-24" und klicken Sie auf OK und erneut. 

So was

ERLEDIGT.

2
Kopi Bryant

Verwenden Sie Android:src="@drawable/doctor" in Ihrer ImageView

1
Muhammad Saad

Ich verwende app:srcCompat anstelle von Android:src____. Es funktioniert in Android Studio 3.0

0
Ridho F Hasyim

Soweit ich weiß, tritt dieses Problem auf, wenn wir ein Bild aus dem Explorer in einen drawable-Ordner einfügen. Dann wird nach dem Wetter gefragt, ob es drawable oder drawable-v24 kopiert werden soll, und wenn Sie Bilder in beiden Verzeichnisstrukturen eingefügt haben oder ein weiteres Bild mit einer anderen Verzeichnisstruktur haben Es wird dieser Fehler angezeigt. Stellen Sie sicher, dass Sie das Bild nur in der "zeichnerischen" Verzeichnisstruktur kopieren. :)

0

Nun, in meinem Fall stürzte es nur in Release-Builds wegen Proguard ab, also nachdem ich diese Zeile hinzugefügt habe:

-keep class Android.support.v7.widget.** { *; }

im Ordner proguard-rules.pro, der Absturz wurde behoben.

0
Suraj Vaishnav

Wenn Sie bereits die Option in der akzeptierten Antwort haben, prüfen Sie, ob sich der Vektor im Ordner "drawable-anydpi" befindet. Wenn Sie es in den "drawable" -Ordner verschieben, wird es behoben.

0
lbarbosa