我得到 android.view.InflateException: Binary XML file line 24: Error inflating class
Posted
技术标签:
【中文标题】我得到 android.view.InflateException: Binary XML file line 24: Error inflating class【英文标题】:Iam getting android.view.InflateException: Binary XML file line 24: Error inflating class 【发布时间】:2016-10-08 21:20:37 【问题描述】:MY Activity_Donar XML 文件如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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_
android:layout_
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.example.karthi.bloodbankk.MainActivity"
tools:showIn="@layout/activity_donar"
android:background="@drawable/bloodbank3">
<TextView
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="BRING A LIFE BACK TO POWER"
android:id="@+id/etquote"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textColor="#070707" />
<EditText
android:layout_
android:layout_
android:id="@+id/etDonarName"
android:hint="DonorName"
android:layout_below="@+id/etquote"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="175dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<EditText
android:layout_
android:layout_
android:id="@+id/etBg"
android:layout_below="@+id/etDonarName"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:hint="Blood Group" />
<EditText
android:layout_
android:layout_
android:id="@+id/etPhone"
android:layout_below="@+id/etBg"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:hint="Phone No" />
<EditText
android:layout_
android:layout_
android:id="@+id/etLocation"
android:layout_below="@+id/etPhone"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:hint="Location" />
<EditText
android:layout_
android:layout_
android:id="@+id/etCity"
android:layout_below="@+id/etLocation"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:hint="City" />
<Button
android:layout_
android:layout_
android:text="SUBMIT"
android:id="@+id/bSubmi"
android:layout_below="@+id/etCity"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
android:layout_
android:layout_
android:text="SEARCH FOR DONORS"
android:id="@+id/bSearch"
android:layout_alignTop="@+id/bSubmi"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
我收到android.view.InflateException: Binary XML file line 24: Error inflating class
。我该怎么办?
我在 android 类中用于编辑文本和按钮的所有 id 都与 xml 文件中的相同。但我无法得到它..
我得到一个 致命异常:主要
进程:com.example.karthi.bloodbankk,PID:1953 java.lang.RuntimeException:无法启动活动 ComponentInfocom.example.karthi.bloodbankk/com.example.karthi.bloodbankk.DonarActivity:android.view.InflateException:二进制 XML 文件第 24 行:二进制 XML 文件第 2 行: 膨胀类错误 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 在 android.app.ActivityThread.-wrap11(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5417) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 原因:android.view.InflateException:二进制 XML 文件第 24 行:二进制 XML 文件第 2 行:膨胀类错误 在 android.view.LayoutInflater.inflate(LayoutInflater.java:539) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:423) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:374) 在 android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:256) 在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) 在 com.example.karthi.bloodbankk.DonarActivity.onCreate(DonarActivity.java:39) 在 android.app.Activity.performCreate(Activity.java:6237) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 在 android.app.ActivityThread.-wrap11(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5417) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 原因:android.view.InflateException:二进制 XML 文件第 2 行:膨胀类错误 在 android.view.LayoutInflater.createView(LayoutInflater.java:645) 在 com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 在 android.view.LayoutInflater.onCreateView(LayoutInflater.java:694) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762) 在 android.view.LayoutInflater.parseInclude(LayoutInflater.java:941) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:831) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:515) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:423) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:374) 在 android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:256) 在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) 在 com.example.karthi.bloodbankk.DonarActivity.onCreate(DonarActivity.java:39) 在 android.app.Activity.performCreate(Activity.java:6237) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 在 android.app.ActivityThread.-wrap11(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5417) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 引起:java.lang.reflect.InvocationTargetException 在 java.lang.reflect.Constructor.newInstance(Native Method) 在 android.view.LayoutInflater.createView(LayoutInflater.java:619) 在 com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 在 android.view.LayoutInflater.onCreateView(LayoutInflater.java:694) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762) 在 android.view.LayoutInflater.parseInclude(LayoutInflater.java:941) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:831) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:515) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:423) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:374) 在 android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:256) 在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) 在 com.example.karthi.bloodbankk.DonarActivity.onCreate(DonarActivity.java:39) 在 android.app.Activity.performCreate(Activity.java:6237) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 在 android.app.ActivityThread.-wrap11(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5417) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 原因:java.lang.OutOfMemoryError:无法分配 20971532 字节分配,4194304 空闲字节和 11MB 直到 OOM 在 dalvik.system.VMRuntime.newNonMovableArray(本机方法) 在 android.graphics.BitmapFactory.nativeDecodeAsset(本机方法) 在 android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:609) 在 android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444) 在 android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1080) 在 android.content.res.Resources.loadDrawableForCookie(Resources.java:2635) 在 android.content.res.Resources.loadDrawable(Resources.java:2540) 在 android.content.res.TypedArray.getDrawable(TypedArray.java:870) 在 android.view.View.(View.java:3948) 在 android.view.ViewGroup.(ViewGroup.java:573) 在 android.widget.RelativeLayout.(RelativeLayout.java:248) 在 android.widget.RelativeLayout.(RelativeLayout.java:244) 在 android.widget.RelativeLayout.(RelativeLayout.java:240) 在 java.lang.reflect.Constructor.newInstance(Native Method) 在 android.view.LayoutInflater.createView(LayoutInflater.java:619) 在 com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 在 android.view.LayoutInflater.onCreateView(LayoutInflater.java:694) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762) 在 android.view.LayoutInflater.parseInclude(LayoutInflater.java:941) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:831) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:515) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:423) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:374) 在 android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:256) 在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) 在 com.example.karthi.bloodbankk.DonarActivity.onCreate(DonarActivity.java:39) 在 android.app.Activity.performCreate(Activity.java:6237) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 在 android.app.ActivityThread.-wrap11(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5417) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
【问题讨论】:
请发布整个堆栈跟踪。 请发布整个堆栈跟踪。这应该有一个或多个部分,其中每个部分都以“Caused by”行开头,并且有更多行,就像您的问题一样。 你的布局有20971532 byte
这是一张大图
我要删除图片吗?
【参考方案1】:
查看xml文件,似乎没有添加RelativeLayout的结束标记。
</RelativeLayout>
在文件末尾添加上述标签并检查。
【讨论】:
以上是关于我得到 android.view.InflateException: Binary XML file line 24: Error inflating class的主要内容,如果未能解决你的问题,请参考以下文章
为啥我得到一个 nullPointerException? [复制]