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 来生成代码,这样就可以了










网友评论