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)
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.
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.
Lösung für diese Art von Problem: Binäre XML-Datei Zeile 0: Fehler beim Aufblasen der Klasse ImageView
Lösung:
Firebase-Image-Datei befindet sich in Drawer-24
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
Entfernen Sie dann das Wort "-24" und klicken Sie auf OK und erneut.
ERLEDIGT.
Verwenden Sie Android:src="@drawable/doctor"
in Ihrer ImageView
Ich verwende app:srcCompat
anstelle von Android:src
____. Es funktioniert in Android Studio 3.0
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. :)
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.
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.