Android运行时异常“Binary XML file line # : Error inflating class”
来源:互联网 发布:有没有像淘宝助理 编辑:程序博客网 时间:2024/05/17 23:38
在原生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中)。
=====================
我个人碰到的问题是我复写了Style,但是没有继承对应的父类,也会出现:android.view.InflateException: Binary XML file line #19: Error inflating class
- 如何解决Android运行时异常“Binary XML file line # : Error inflating class”的异常
- Android运行时异常:android.view.InflateException: Binary XML file line #354: Error inflating class inclu
- Android运行时异常“Binary XML file line # : Error inflating class”
- Android运行时异常“Binary XML file line # : Error inflating class”
- Android运行时异常“Binary XML file line # : Error inflating class”
- Android运行时异常“Binary XML file line # : Error inflating class”
- Android运行时异常“Binary XML file line # : Error inflating class”
- Android运行时异常“Binary XML file line # : Error inflating class”
- Android运行时异常“Binary XML file line # : Error inflating class”
- Android运行时异常“Binary XML file line # : Error inflating class”
- Android运行时异常“Binary XML file line # : Error inflating class”
- Android 运行时异常 Binary XML file line # : Error inflating class
- Android运行时异常“Binary XML file line # : Error inflating class”
- Android运行时异常“Binary XML file line # : Error inflating class”
- Android运行时异常“Binary XML file line # : Error inflating class”
- Android运行时异常“Binary XML file line # : Error inflating class”
- Android运行时异常“Binary XML file line # : Error inflating class”
- Android运行时异常“Binary XML file line # : Error inflating class”
- C语言实现继承和多态
- C语言实现面向对象之继承性
- weblogic发布报错
- 终结处理方法finalize()方法
- avd 报错解决方案
- Android运行时异常“Binary XML file line # : Error inflating class”
- C#设计模式编程之抽象工厂模式新解
- 通过ssh远程到服务器,解决vim不能复制粘贴的问题
- 学习Pull文件的解析方式:
- 百度地图API之公交换乘方案搜索(Android) .(12)
- 抽象工厂(C++)
- flash wmode参数详解
- 完整的网络协议层次图
- 右左法则----复杂指针解析