在使用DataBinding中遇到的一个奇葩的 java.lang.NullPointerException问题

参考文章

1、官方文章,使用chrome的翻译功能阅读还是比较流畅的
2、国内翻译

按照官方文章第一步,

android {
    **
    dataBinding { enabled = true }
}

这几行代码刚写完,build的时候就报了空指针异常,这时使用控制台指令

gradlew.bat assembleDebug --stacktrace

执行完以后发现是解析layout文件的时候出现的异常
这时再去项目路径中查找

bulid

intermediates

data-binding-layout-out

找到其子文件夹中的layout文件夹,查看读取到哪个文件时出错
但是这时我检查该文件并没有什么异常,我一开始以为是我引用的
Android-PullToRefresh库不在维护了,因此不支持databinding,所以我就把该库替换为android-Ultra-Pull-To-Refresh,说实话,新的库比原来的库好用很多,兼容性也更好,而且作者还在维护

当我使用新库,改完布局以后发现问题还是没解决

因此我新建了一个项目,使用了databinding,没问题
我把该布局拷过去,项目报错,这时我开始一行一行删代码,编译程序
结果删到了最后问题还是没解决,顿时我就懵逼了

最后,也是偶然想起来一个方法,是不是文件编码的问题;
我就新建了一个布局文件,把代码拷进去,编辑;竟然没错了

问题就这样解决了,然后我把原项目出问题的布局都找出来,改了改
End

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值