DataBinding @get:Bindable 不能生成字段

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容