Android编程:解决异常“android.view.InflateException: Binary XML file line # : Error inflating class”...

本文详细探讨了在Android开发过程中遇到的XML InflateException异常及其解决方案。主要包括检查组件名称的正确性、自定义View构造方法的编写、项目编码问题以及多屏适配时的注意事项。
摘要由CSDN通过智能技术生成

今天写程序发现一个问题,就是XML中报出android.view.InflateException异常,可能的原因有:

1.XML中使用到得组件名称是否书写正确(包名+类名),可以使用crtl+鼠标点击看能不能跳转到该组件的定义的地方,可以的话就不是这个问题,如果不可以的话,就是这个问题

2.抛出异常时的main.xml与自定义View类相关代码如下:就是自定义的组件中的构造方法有没有书写正确

main.xml

继承View的类Chessboard.java:

对于此异常,如下进行修改:添加View类的另一个构造方法

3.这个问题很是蛋疼,也是我遇到的问题,搞了我一天的时间,就是工程的编码问题,场景是:从github上下载一个开源组件demo,导入到本地的Eclispe中,就是报错,开始因为是上述的两个问题,但是最后发现都不是,然后又以为是Eclipse版本或者是SDK,ADT这样的版本的问题,耗费了我好长时间,最后想起来github上的这些开源都是老外们写的东东,肯定用的是UTF-8编码的,但是我本地Eclipse的编码是GBK,所以我立马改了一下编码,终于解决了,所以在这里深深的体会到,在使用Eclipse导入工程的时候,还用注意编码的问题,切记!

4.这个问题也是不难发现的,不会经常遇到,就是在多屏适配的时候,比如你在values-sw720文件夹中定义了dimens的一个尺寸,但是没有在values中定义相应的尺寸大小,然后在xml中使用了这个dimens尺寸,当你运行程序到720p(三星平板)的设备上是没有问题的,如果将程序跑在480的设备上,就会出现这种异常(原因是480设备可能会从values文件夹中查找尺寸,找不到出错),这个问题很难发现。所以我们在做屏幕适配工作的时候,一定要谨慎。

转载于:https://www.cnblogs.com/roccheung/p/5797438.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值