Android运行时异常“Binary XML file line # : Error inflating class”

转载 2015年10月15日 15:18:48

转自:http://blog.csdn.net/huangxiaohu_coder/article/details/8497286

在原生Android下编译APK,编译没有问题,但是在运行的时候经常出现如标题所描述的异常,然后整个程序Crash掉......

    我遇到该问题常常都是因为修改了资源文件所引起,大致有以下几种方式来解决:

    1. 引用类名问题:自定义了一个View,将他用于布局文件中,假设他的包名叫MyPackage,类名叫MyTestView,这个时候你在XML作为布局元素来布局的话,必须使用完整路径名,也就是包名加类名来引用,用MyPackage.MyTestView来进行引用。

    2.构造函数问题:自定义一个View,必须派生实现基类View的三个构造函数

    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

    从文档上的介绍来看,第二个和第三个构造函数对于XML这种引用方式是必须实现的,这三个构造函数应该是在不同的应用场合来实例化一个View对象。

    3.编译的中间文件没有清理干净:第三种就是你在原生系统代码的编译环境下编译APK之后,特别是修改了XML,出现标题所述现象,这个时候你只需要删除out目录下编译生成的中间文件夹即可(具体名字记不清了:在编译过程中,系统会将那个位置打印出来,通过串口来看吧,.../out/....../..../classes.dex,你循着这个路径往前推到你的应用的project名字那一层文件夹),删除再重新make就OK了。

    4.找不到资源文件:我原来在2.3的原生系统增加动态壁纸的时候,动态壁纸一跑起来就出这个异常,然后crash,当时就是因为找不到drawable的资源文件,于是当时我把drawable的hdpi或nodpi等文件夹的图片资源都拷贝一份到drawble下,问题解决(当时一直不明白系统会根据分辨率来选择加载不同drawable下文件夹的资源,为什么这里必须放入drawable中)。


自定义组件时 Binary XML file line Error inflating class 异常

今天在学习SurfaceView时偶然发现并解决了之前疑惑小编很久的问题: 在Android开发中,制作自己的自定义组件的时候,总是会遇到Binary XML file line Error #**...
  • xiaoxuantengkong
  • xiaoxuantengkong
  • 2014-11-06 16:56:19
  • 4266

Binary XML file line #: Error inflating class android.widget.Button错误解决

今天把之前因为别的Activity需要调试而停掉的Activity重新拿出来了,不过跳转的时候出现了这样的错误 定位到具体代码,是Adapter inflate的时候出错的 之前完全是没问题的...
  • qq_23018915
  • qq_23018915
  • 2016-03-19 09:20:44
  • 3587

Android.view.InflateException: Binary XML file line #7: Error inflating class button错误的解决方法

  • zhouxingxingzxy
  • zhouxingxingzxy
  • 2014-10-14 09:41:23
  • 2804

Android Fragment使用遇到的问题Binary XML file line #10: Error inflating class fragment

Fragment异常:Binary XML file line #8: Error inflating class fragment 错误的原因分析: (1)引用fragment时没有id(我刚开始就...
  • u010228448
  • u010228448
  • 2016-07-29 16:33:40
  • 2811

Fresco的报错:Binary XML file line #0: Error inflating class com.facebook.drawee.view.Simp

1.原因是没有执行,下面这句话 Fresco.initialize(this); 问题:图片不显示  这里写图片描述 1.解决办法  Fresco 是不支持wrap_content所以我们把...
  • yishengzhiai005
  • yishengzhiai005
  • 2017-11-30 16:40:12
  • 151

Android 异常 “Binary XML file line # : Error inflating class”

自己的项目在Pad上一直运行正常,可是当运行在手机上时在一个Inflater.inflater()解析布局时出现了运行时异常“ Binary XML file line # : Error infla...
  • Samuel__Liu
  • Samuel__Liu
  • 2016-12-20 12:45:41
  • 10583

百度地图攻略1(Binary XML file line #7: Error inflating class com.baidu.mapapi.map.MapView )

第一次学习使用百度地图,按照官网http://developer.baidu.com/map/index.php?title=androidsdk/guide/hellobaidumap的使用指南,首...
  • hqocshheqing
  • hqocshheqing
  • 2015-05-15 15:45:20
  • 2767

Binary XML file line #2: Error inflating class android.widget.AbsoluteLayout

自定义一个View,并在layout文件中进行部署,执行程序报以下错误: E/AndroidRuntime( 1292): FATAL EXCEPTION: main E/AndroidRuntim...
  • harry_helei
  • harry_helei
  • 2012-02-16 19:22:44
  • 22342

android.view.InflateException: Binary XML file line #2: Error inflating class <unknown> bug解决

原来是在sw-900的有两个字 06-19 11:58:50.429  20084-20084/tv.peel.app E/AndroidRuntime﹕ FATAL EXCEPTION: main...
  • sfshine
  • sfshine
  • 2014-06-19 12:03:20
  • 4087
收藏助手
不良信息举报
您举报文章:Android运行时异常“Binary XML file line # : Error inflating class”
举报原因:
原因补充:

(最多只允许输入30个字)