1. ホーム
  2. android

android.view.InflateException: バイナリXMLファイル行番号46の例外処理

2022-02-18 20:25:28

まず報告された例外を見て、主要部分だけ掲載しましょう。

Process: com.dudu.duduhelper, PID: 13694
                  android.view.InflateException: Binary XML file line #46: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:543)
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
                      at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393)
                      at com.dudu.duduhelper.Activity.BigBandActivity.ShopProductAddActivity.showAlertDailog(ShopProductAddActivity.java:151)
                      at com.dudu.duduhelper.Activity.BigBandActivity.ShopProductAddActivity.SubmitProduct(ShopProductAddActivity.java:347)
                      at com.dudu.duduhelper.Activity.BigBandActivity.ShopProductAddActivity.access$1000(ShopProductAddActivity.java:67)
                      at com.dudu.duduhelper.Activity.BigBandActivity.ShopProductAddActivity$11.onClick(ShopProductAddActivity.java:510)





この例外は、load xml file exceptionです。 また、具体的な場所を特定する。

Android.view.InflateException: Binary XML file line #46:

そして、コードの中で最初に現れる場所。

at com.dudu.duduhelper.Activity.BigBandActivity.ShopProductAddActivity.showAlertDailog(ShopProductAddActivity.java:151)

Parsing overとは、ソースコードの151行目でxmlファイルを読み込むとエラーが報告され、xmlの46行目に対応することを意味します。

対応するxmlファイルです。

<span style="font-family:Arial, Helvetica, sans-serif;"></span><pre name="code" class="html& quot;> android:src="@color/list_divide"/>
        <LinearLayout
            android:layout_width="match_parent"
            android:orientation="horizontal"
            android:layout_height="50dp">
            <Button
                android:id="@+id/confirm"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="match_parent"
                android:background="@null"
                android:text="OK"
                android:textSize="18dp"
                />
            <view
                android:layout_width="0.5dp"
                android:layout_height="match_parent"
                android:src="@color/list_divide"/

46行目が <view ここでvが小文字になっていますが、編集時には報告されず、コンパイル時にのみ報告されるので、見つけるのは簡単ではありません。

今後、同様の問題は、まずエラーログを見てソースの場所を特定し、ソースの場所から間違ったxmlの場所を見つけるという2つのステップで解析することができます。