Android:"Binary XML file line # : Error inflating class"
2015-10-25 12:05
411 查看
“Binary XML file line # : Error inflating class”问题解决方法
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对象。
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了。找不到资源文件:
我原来在2.3的原生系统增加动态壁纸的时候,动态壁纸一跑起来就出这个异常,然后crash,当时就是因为找不到drawable的资源文件,于是当时我把drawable的hdpi或nodpi等文件夹的图片资源都拷贝一份到drawble下,问题解决(当时一直不明白系统会根据分辨率来选择加载不同drawable下文件夹的资源,为什么这里必须放入drawable中)。相关文章推荐
- Android在如何建立一个WebServer
- Android平台免Root无侵入AOP框架Dexposed使用详解
- Android Handler消息传递机制
- Android开发教程:shape和selector的结合使用
- Android中Activity之间的通信和传值
- Android ProgressBar
- 用淘汰的Android手机来DIY防盗器
- 【转】Caused by: android.os.NetworkOnMainThreadException错误解决办法
- Android之drawable state各个属性详解
- Android-->使用默认样式创建View
- Android屏幕适配全攻略(最权威的官方适配指导)
- AndroidStudio环境下导出APK
- Android开源组件---CircleImageView的使用
- Android_09_自定义内容提供者及访问内容提供者
- android layout的一些注意事项
- Android 线程之Message 的使用
- Android之SurfaceView学习
- android图片压缩总结
- Android之完成SQLite数据库版本更新的过程熟悉
- Android横竖屏切换生命周期