解决 DataBinding Unresolved reference: BR 问题

问题

最近使用了databinding,在使用BaseObservable的时候出现了Unresolved reference: BR 问题,上网搜了一下,都是抄来抄去的,没解决我的问题。

@Entity(tableName = "plan")
data class Plan constructor(
    @PrimaryKey(autoGenerate = true)
    var id: Long = 0,

    var state: Int = 0,
    var filter: Int = 0,
    var type: Int = 0,
    var startTime: String = "2021-02-24",
    var duration: Long = 0,
    var endTime: String = "2021-02-24",
): BaseObservable() {
    @get:Bindable
    var title: String = ""
        set(value) {
            field = value
            // 只刷新当前属性
            notifyPropertyChanged(BR.title)
        }

    @get:Bindable
    var content: String = ""
        set(value) {
            field = value
            // 只刷新当前属性
            notifyPropertyChanged(BR.content)
        }
}

解决办法

网上解决办法

生成kapt,在模块的build.gradle中添加Kotlin-apt插件

apply plugin: 'kotlin-kapt'
 
kapt {
    generateStubs = true
}

并且引入和gardle一样版本的一个库

kapt  "com.android.databinding:compiler:3.5.0"

然而对我来说却没有作用,这里提一下,万一对读者有用也行。

解决办法

最后,我觉得可能是Android Studio又抽风了,代码提示没了,所以没法 ctrl + enter 引入依赖。既然没有,那我 ctrl shift + F 全局搜索一下“BR”,看看那里用到了,把它的依赖 import 进来不就行了。

实际上就是按上面方法就解决了,当然你也可以直接输入你的模块加上 BR 解决:

import com.silencefly96.module_plan.BR

像上面这样就可以了。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值