数据绑定类没有生成

我在我的项目中使用数据绑定,当我的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 / fragment中编写ActivityMainBinding ,它将显示错误,该类不可用。 但是在我的xml文件中包含<variable>之后,就可以生成ActivityMainBinding类。

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

Solutions Collecting From Web of "数据绑定类没有生成"

我遇到过同样的问题。 在阅读了android sdk文档之后,只有预期的文件名被创build,但没有关于如果没有发生该怎么办。 我注意到一些更多的研究后,像下面的布局元素(使用你的例子)删除名称空间后,它为我工作。

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

DataBinding类自动生成。

如果你的xml名字是activity_test,那么Binding类将是ActivityTestBinding。

但,

 dataBinding { enabled = true } 

布局应该有根作为布局

 <layout xmlns:android="http://schemas.android.com/apk/res/android"> </layout> 

在正确设置之后(包括xml名称空间并将所有内容包装到<layout> ),为我工作的那个是在执行Build – > Make项目。 也没有清洁项目或重build项目。 我在Android Studio 2.3.1,使用26.0.2构build工具。 没有必要使用<data>标签。

如果可能的话,我可以想象的唯一的事情是,如果你没有

 dataBinding { enabled true } 

在你的gradle文件中。 如果不是只是将其添加到gradle文件。 即

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

然后同步你的项目。 如果它仍然失败,你可能需要做失效/重新启动你的android studio

使用类path'com.android.databinding:dataBinder:1.0-rc0'