未生成数据绑定类

Posted

技术标签:

【中文标题】未生成数据绑定类【英文标题】: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_
        android:layout_>
    </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 () 我没有得到绑定的意义 【参考方案1】:

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

【讨论】:

【参考方案2】:

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

fragment_name.xml -> FragmentNameBinding

【讨论】:

【参考方案3】:

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

【讨论】:

以上是关于未生成数据绑定类的主要内容,如果未能解决你的问题,请参考以下文章

Django 表单API详解

Django表单API详解

Python数据模型文档:一个未绑定的用户定义方法对象和一个类方法对象

Python:绑定一个未绑定的方法?

刷新 WPF Datagrid 未绑定到可观察集合?

Kotlin-android:未解决的参考数据绑定