Binary XML file line #6: Error inflating class xxx

今天在重写ImageView组件的时候,重写工作完成了,完成功能就是多点放大缩小图片,可是运行工程整个程序就crash掉了,并抛出如图运行时异常:


搞了好久才把问题解决了,原来是在重写组件的时候必须实现View里面的三个构造方法,而我只实现了一个。

下面我把从网上找到的几个可能引起该异常的情况总结一下:

第一种:自定义View,必须实现基类View的三个构造方法;

        public ZoomImageControl(Context context) {
		super(context);
	}
	public ZoomImageControl(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
	}
	public ZoomImageControl(Context context, AttributeSet attrs) {
		super(context, attrs);
	}

第二种:自定义了一个View,将他用于布局文件中的时候,假设他的包名为cn.example,类名叫TestDemo,这个时候你在XML作为布局元素来布局的话,必须使用完整路径名,也就是包名加类名来引用cn.example.TestDemo。

第三种:资源文件有可能没有找到,因为系统应用在编译时并不一定会将所有分辨率的资源文件都打包到apk文件里。也就是在res/drawable-xxx文件夹里面的文件。系统会根据分辨率来选择加载不同drawable下文件夹的资源



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值