DataBinding @get:Bindable 不能生成字段
2019-01-14 本文已影响35人
pdog18
class User : BaseObservable() {
@get:Bindable
var firstName: String = ""
set(value) {
field = value
notifyPropertyChanged(BR.firstName)
}
@get:Bindable
var lastName: String = ""
set(value) {
field = value
notifyPropertyChanged(BR.lastName)
}
}
通常会遇到这种情况的原因是原先项目中没有用到kapt
也就是 apply plugin: 'kotlin-kapt'
,所以使用了apt
生成代码。
其实不是 @get:Bindable
不能生成字段,而是 kotlin 代码中没有引用到。
查看下你的 build\generated\source\apt
里有没有也生成了一个BR
类文件,如果有 IDE 可能就无法关联到 kapt
下生成的 BR
类文件。
所以你将build\generated\source\apt
文件删除一下,确保以后都使用kapt
来生成代码,这样就可以了