1. ホーム
  2. Android development

Android.view.InflateException: バイナリ XML ファイルの行番号 0: クラス <unknown> を展開する際のエラー 解決方法

2022-02-18 01:43:24
<パス

  プロジェクトは正常に実行され、アクティビティを開いて入力すると、クラッシュしてエラーが報告されます。

  を設定することが可能です。 この問題は、XMLファイルの間違いに突き止めることができます。
  何かが間違っている確率は、以下のいずれかであり、エラーログを元にトラブルショットを行うことができます。

  1. まずプロジェクトをリファクタリングし、プロジェクトを再構築し、それが消えるかを確認します。
  2. カスタムビューを使用するかどうか、パスが完全で正しいかどうかを確認します。
  3. リソースファイルの参照が正しくないかどうかを確認します。
  4. カスタムビューのコンストラクタが定義されているかどうかをチェックします。
 View(Context context) //Simple constructor to use when creating a view from code 
 View(Context context, AttributeSet attrs) //Constructor that is called when inflating a view from XML 
 View(Context context, AttributeSet attrs, int defStyle) //Perform inflation from XML and apply a class-specific base style 

  私の問題は、リソース参照エラー、4番です。以下は、私がログをたどってトラブルシューティングを行った方法です。

//just an excerpt from Cause by
Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class 

Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class 

Caused by: java.lang.reflect.InvocationTargetException
Caused by: android.content.res.Resources$NotFoundException: Drawable com.example.heartratedect:color/colorPrimary with resource ID # 0x7f040028
Caused by: android.content.res.Resources$NotFoundException: Resource "com.example.heartratedect:color/colorPrimary" (7f040028 ) is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f040028 a=-1 r=0x7f040028}

  最初のエラーセットでは、あまり有用な情報は得られなかったので、まず以下の検索を行います。

2つ目のエラーメッセージ が見つかりました。 冒頭と同じエラーメッセージ There is a difference between と気合を入れるところから

  カラーリソースへの参照を探す際に問題となるのは、それが必要な描画可能な型でないことです。
  ソースファイルの中でこのリソースを参照しているコードを見つけ、問題を特定し、その行を削除すれば、問題は解決します。