【问题标题】:Unresolved reference: databinding in Android studio 4.1.3未解决的参考:Android Studio 4.1.3 中的数据绑定
【发布时间】:2021-07-23 22:04:15
【问题描述】:

在遵循 SO 中的很多答案和其他要解决的答案后,我面临着一种有线行为,但仍然坚持下去。

我已添加到应用 Gradle

  buildFeatures {
    dataBinding true
}

我的 activity_main.xml 被布局包裹

<?xml version="1.0" encoding="utf-8"?> 
<layout xmlns:android="http://schemas.android.com/apk/res/android">
 <data> </data>

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".ui.home.MainActivity" />
  </layout>

我也尝试将这些添加到 gradle.properties

android.databinding.enableV2=true
android.useAndroidX=true

我已经有了

android.useAndroidX=true
android.enableJetifier=true

打开活动时它没有显示错误,并且在将名称更改为另一个名称时它似乎也已生成但每当我运行时都会出现此错误

Unresolved reference: databinding

我该如何解决这个问题?

**更新 1 我已经多次清理和构建,关闭并打开了 android studio,以及 Invalidate Cache/Restart。

【问题讨论】:

  • 你有没有解决这个问题,我现在也面临同样的问题?

标签: android kotlin data-binding android-databinding


【解决方案1】:

将其添加到 gradle 文件后:

buildFeatures {
    dataBinding true
}

确保单击“立即同步”。否则无法进行下一步。

下一步,在 xml 文件中,打开

<androidx.constraintlayout.widget.YourAppLayout xmlns:android="http://schemas.android.com/apk/res/android"

右击,你会得到这个菜单:

点击“转换为数据绑定布局”。你应该准备好了

【讨论】:

    【解决方案2】:

    请注意,使用数据绑定时,视图 ID 会更改名称,如下所述:https://developer.android.com/codelabs/kotlin-android-training-data-binding-basics#2

    第 4 步:使用绑定对象替换对 findViewById() 的所有调用 您现在可以将所有对 findViewById() 的调用替换为对 绑定对象中的视图。当绑定对象是 创建后,编译器会在绑定中生成视图的名称 来自布局中视图 ID 的对象,将它们转换为 骆驼案。因此,例如 done_button is doneButton 在绑定中 对象

    【讨论】:

      【解决方案3】:

      请转到文件->使缓存无效/重新启动->无效并重新启动

      【讨论】:

        猜你喜欢
        • 2020-09-29
        • 2020-01-18
        • 2016-01-14
        • 2020-06-10
        • 1970-01-01
        • 2020-12-26
        • 2021-11-05
        • 2020-01-05
        • 1970-01-01
        相关资源
        最近更新 更多