【问题标题】:Data Binding class not generated未生成数据绑定类
【发布时间】:2017-01-21 19:49:47
【问题描述】:

我在我的项目中使用数据绑定,在我的xml绑定类中使用<layout><data>时没有生成。

例如我有activity_main.xml

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

现在,如果我在我的活动/片段中写 ActivityMainBinding,它会显示错误,即类不可用。但是在我的xml文件中包含&lt;variable&gt;之后,它能够生成ActivityMainBinding类。

Android Studio:2.1.3
类路径:com.android.tools.build:gradle:2.1.3
minSdkVersion 16
targetSdkVersion 24
buildToolsVersion 24.0.0

【问题讨论】:

  • 在你的 build.gradle 中是 dataBinding.enabled 吗?
  • 我认为这是一个已知错误。您可以在尝试访问ActivityMainBinding 之前尝试构建您的项目,或者它必须与this 错误有关。
  • @pskink 是的,这就是为什么它在 xml 中添加 &lt;variable&gt; 后生成绑定类
  • @Amylinn 在构建我的项目后生成它,但我的问题是当我写&lt;variable&gt; 时,它生成绑定类而不构建项目。
  • 我对真正的问题感到困惑?如果添加 可以解决问题,为什么不这样做呢?没有 ViewModel () 我没有得到绑定的意义

标签: android data-binding android-databinding


【解决方案1】:

我生成了所有类,但 Android Studio 没有看到它们并将它们标记为无效导入。运行 gradle sync 解决了这个问题。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。我在重构时犯了一个错误。 autogen 绑定类的名称来自 xml 布局文件。

    fragment_name.xml -> FragmentNameBinding

    【讨论】:

      【解决方案3】:

      检查接受答案中的所有原因后,请确保与 file.xml 中的确切命名匹配。就我而言,我的布局名称中有一个小错字。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-06-09
        • 2016-08-07
        • 1970-01-01
        • 2020-06-13
        • 2023-03-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多