45fan.com - 路饭网

搜索: 您的位置主页 > 手机频道 > 阅读资讯:程序包com.***.databinding不存在

程序包com.***.databinding不存在

2019-03-30 20:11:13 来源:www.45fan.com 【

databinding好用是好用,但是遇到坑的时候,找问题就不那么方便了,以下是我今天遇到的一个问题,记录一下,可能帮到你。

 

经过是这样的,昨晚还能正常编译打包,今天整理了一下项目文件,移动了几个文件到另一个包下,我是使用Android Studio移动的文件,所有用到这个文件的地方都会自动修改包名。然而一编译,一大堆如下的错误,一脸懵逼埃

 

***.java

Error:(16, 49) 错误: 程序包com.***.databinding不存在
Error:(41, 13) 错误: 找不到符号
符号: 类 ***Binding

位置: 类 ***Activity

 

这种问题绝大多数情况都是xml有问题,应该首先想到的是使用databinding的xml中某个地方写错了,多数情况的话仔细看看报错日志就能看出来,不多说,然而我的情况是,之前还好好的,没有修改代码也没做什么风骚的操作,突然报出了这么以对错误,使用git diff,对比改动的地方,并没有什么异常,炒鸡郁闷怎么会报这个问题。后来灵光一闪,想到有个文件在xml中有被引用。

一般的databinding的引用对象如下

 

<data>

  <variable
    name="viewModel"
    type="com.aaa.AAAViewModel" />
</data>

AAAViewModel这个文件在aaa包下,如果你移动了AAAViewModel这个文件到bbb包下,问题就来了,其他引用到这个文件的java类里都会自动将aaa修改到bbb,但是databinding这个地方不会修改,还是保持着com.aaa.AAAViewModel,这个时候它已经标红了,但除非进入这个xml中看,不然你根本发现不了这个问题。所以你只要将它改为

<data>

  <variable
    name="viewModel"
    type="com.bbb.AAAViewModel" />
</data>

就万事大吉了,然而当我发现的时候,几个小时已经过去。。。

 

所以移动文件的时候一定小心,特别是使用了databinding的xml中,因为目前Android Studio还不能帮你自动把引用文件的包名改为最新的。

 
 

本文地址:http://www.45fan.com/a/luyou/100093.html
Tags: 程序 com. .databinding
编辑:路饭网
  • 上一篇:我的移动开发春季历程
  • 下一篇:没有了
  • 关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部