首页 > 解决方案 > 未解决的参考:BR(Android Studio)

问题描述

我的顶级 build.gradle:

buildscript {
    ext.kotlin_version = '1.2.41'
    ext.lifecycle_version = "1.1.1"
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

我的项目级 build.gradle:

android {
    ...
    dataBinding {
        enabled = true
    }
}

dependencies {
    ...
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    implementation "android.arch.lifecycle:extensions:$lifecycle_version"
}

我还android.databinding.enableV2=true为每个 Google 文档添加了 gradle.properties ( https://developer.android.com/topic/libraries/data-binding/start )

当我尝试运行时,它在我的班级中显示Unresolved reference: BR错误。BaseViewHolder似乎BR该类已正确生成,.../R.java但当我将鼠标悬停在类名上时,它也表示在文件中找到了重复的类。我做错了什么?

fun bind(obj: Any) {
        binding.setVariable(BR.obj, obj)
        binding.executePendingBindings()
}

标签: android-studiokotlinandroid-databinding

解决方案


对于 Android Studio 3.3、Gradle 3.3.0 和 Databinding v2,需要添加以解决此问题的唯一行是在您的(应用程序或模块)中build.gradle

apply plugin: "kotlin-kapt"

推荐阅读