web-dev-qa-db-ja.com

バイナリXMLファイル行#0:クラスImageViewの膨張エラー

Android studio 3.0を使用しています
この問題を修正するのに疲れています。アプリはそれを常に実行しないこのエラーを常に表示するBinary XML file line#0:Error inflating class ImageView

これは私のmain_activity.xmlです。ConstraintLayoutを使用してxmlを変更しました

  <?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コード

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);

  }
 }

これは完全なログです。

  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) 
15
Israa Alothman

一部のSVGソースは完全にはサポートされていないようです。アクティビティのonCreate()メソッド内に次の行を追加します。

AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);

画像を定義するには、Android:srcの代わりにapp:srcCompactのxmlファイルでImageViewの属性として以下を使用してください。

5
HaroldSer

Android St​​udioバージョン3.0.0以降では、画像をドローアブルフォルダーに追加しようとすると、「インストール先ディレクトリを選択する」ように求められます。そのとき、drawable-v24の代わりにdrawableを選択します。

<code>enter image description here</code>

コーディングを続ける........ :)

36

drawable(v-24)に画像を貼り付けないで、それをdrawableフォルダーに貼り付けてプロジェクトをきれいにしてから実行してください。

22
S H Mehdi

この種の問題の解決策:バイナリXMLファイルの行#0:クラスImageViewの膨張エラー

解決:

  1. 画像ファイルがDrawerまたはDrawer-24にあるかどうかを確認してください。ここの例

FirebaseイメージファイルはDrawer-24にあります

  1. 画像ファイルがドロワー-24にある場合、ファイルを右クリックして、リファクタリングをクリックしてから移動

  2. 次に、Wordの「-24」を削除し、[OK]をクリックして、もう一度実行します。

これに似ています

できました。

5
Kopi Bryant

ImageViewでAndroid:src="@drawable/doctor"を使用します

1
Muhammad Saad

app:srcCompatの代わりにAndroid:srcを使用しています。 Android studio 3.0で動作します

0
Ridho F Hasyim

私の知る限り、この問題は、Explorerからdrawableフォルダーに画像を貼り付けてから、天気を指定してdrawableまたはdrawable-v24をコピーし、両方のディレクトリ構造に画像を貼り付けた場合、または別のディレクトリ構造の画像をもう1つ持っている場合に発生しますこのエラーが表示されますので、必ず「drawable」ディレクトリ構造の画像のみをコピーしてください:)

0

私の場合、プロガードのためにリリースビルドのみでクラッシュしていましたので、この行を追加した後:

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

ファイルproguard-rules.proで、クラッシュは解決されました。

0
Suraj Vaishnav

受け入れられた回答に既にオプションがある場合は、ベクターが「drawable-anydpi」フォルダーにあるかどうかを確認してください。 「描画可能」フォルダに移動すると修正されます。

0
lbarbosa