初探Jetpack中的数据绑定(一)
2019-11-07 本文已影响0人
EmpathyBasic
官网https://developer.android.google.cn/topic/libraries/data-binding
官方代码地址https://github.com/android/databinding-samples
这里只记录一些自己学习中的一些过程以及遇到的问题
第一个遇到的问题
![](https://img.haomeiwen.com/i6854876/d74fb84c685ae283.png)
![](https://img.haomeiwen.com/i6854876/3ae2e36a32aa164f.png)
我这里按照文档使用等号给变量赋值报错,后来修改为
set
方法赋值![](https://img.haomeiwen.com/i6854876/9ca77ff5dcf82573.png)
第二个遇到的问题,在xml布局使用<>报错
![](https://img.haomeiwen.com/i6854876/9466f74fdf3c828b.png)
![](https://img.haomeiwen.com/i6854876/d1a6c6aae54ddc80.png)
![](https://img.haomeiwen.com/i6854876/8b88517b0abc519e.png)
第三个遇到的问题BR相应的属性没有自动生成
![](https://img.haomeiwen.com/i6854876/5479c3706e0b92f3.png)
![](https://img.haomeiwen.com/i6854876/fcfc5edcb470cf56.png)
根据错误提示应该是没有生成BR文件,想着是不是因为上面的代码报错的原因,然后就暂时注释掉,然后
clean
重新make
,结果还是报错![](https://img.haomeiwen.com/i6854876/0070f14703fb53cb.png)
查看BR文件,确实没有生成相应的变量
然后就找呀找发现官网有一句提示kotlin工程要增加
kotlin-kapt
插件,想着是不是这的原因,抱着试试看的态度加上这个插件![](https://img.haomeiwen.com/i6854876/4e66966e4f850d41.png)
出现了一个警告,如图所示
![](https://img.haomeiwen.com/i6854876/669ef955d0cfcfbe.png)
这个警告的原因查了一下貌似是kotlin版本1.3.5的bug,解决办法
gradle.properties
文件中增加kapt.incremental.apt = false或者降低kotlin版本加上
kotlin-kapt
插件后发现BR文件中的属性已经生成了,但是引用不到,如图所示![](https://img.haomeiwen.com/i6854876/0c7a8d4110f51858.png)
对于这个问题,我的解决办法是引用
androidx.databinding.library.baseAdapters.BR
中的属性![](https://img.haomeiwen.com/i6854876/7891ee210c96ffc1.png)
两个包中的BR文件一摸一样,为啥一个能引用到,另外一个引用不到,具体我也不知道。总之不报错了