关于命名规范
- 包名开头需要小写,类名开头需要大写
正常写Activity时,可以没有要求的很严格,但是像类似包含了dataBinding的类和包都必须要规范书写,所以尽量在创建时需要进行规范命名
规定死的,强制规范命名的,类似 layout文件在创建时就不能大写
项目实现的功能:用databinding实现简单的 点击一次Button,textview 显示数值+1
写完运行时,同一个项目竟出现两个导致同一报错问题的错误
报错:
错误1:绑定在了错误的属性中
先把错误点列出来:
@{()->data.add()}
这句应该是写在onClick里面的,但是被我粗心写在了Button下的text里 粗心导致了我的第一个错误
运行时报错如下:有点显示不全
CSDN上找到的类似的错误:对应我没显示全的内容,顺便有了解决过程
图片来源:DataBinding找不到符号,import xxx.xxx.ActivityxxxBindingImpl
其中小图:
没错我就是大佬说的绑定属性项出现了问题
因为没有具体的报红,大佬给出的解决方法是:
点击一下build中 Found data binding error(s): 右侧就是具体报错的原因
找到问题: 我的项目因为只写了一个类,就两个控件,很快就找到是xml中Button的问题
解决:
错误2:包名、类名不规范导致的问题
同样的,先写出问题所在:
是包名和类名都是不规范的命名,正确的应该是包名小写,类名大写
运行时错误如下:
这里根据报错信息去度娘上面找解决方法的时候,一直以为是下面这里的问题,因为这类问题,一般是xml文件这部分的书写错误
<data>
<variable
name="data"
type="com.example.study_test.Six.mViewModel" />
</data>
但是对照了下type和所写的自定义类名字一样,位置信息也是对的,排除了写错的问题
在CSDN上找到了一篇databingding包名不能大写?的文章,点进去一看也是我这个问题,但是文章只强调了包名需要大写,然后将我的包名Six改成了six,一运行,还是不行
又找了很久找到了一篇老外的类似错误求助文章,看到他评论里的问题回答,不光是包名,绑定数据的类名也有要求,然后问了下身边的大佬,说这个是默认的规范,原来是我从一开始学的时候就没有注意规范这方面的问题
包名小写,类名大写,都改了之后,运行,芜湖~解决
总结:还是要在学习阶段规范书写,很重要