找不到类databinding.FragmentBinding

我试图在我的片段中使用数据绑定,但在运行时出现以下错误:

Could not find class 'com.example.databinding.FragmentUpSellBinding', referenced from method com.example.UpSellFragment.onCreateView 

其结果是:

 FATAL EXCEPTION: main Process: nl.anwb.fietsen.debug, PID: 5563 java.lang.IllegalStateException: DataBindingUtil.inflate(…r, false) must not be null` 

我的build.gradle看起来像这样:

 apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' android { dataBinding { enabled = true } } kapt { generateStubs = true } dependencies { kapt 'com.android.databinding:compiler:3.0.0-alpha4' implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" } 

主buid.gradle

 buildscript { ext.kotlin_version = '1.1.2-4' ext{ supportLibraryVersion = '25.3.1' } repositories { maven { url 'https://maven.google.com' } jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha4' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } 

有谁知道我可以解决这个问题?

build.gradle在你不需要

  dataBinding { enabled = true } 

删除并尝试

 apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' kapt { generateStubs = true } dependencies { kapt 'com.android.databinding:compiler:3.0.0-alpha4' implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" } 

并更新您的Kotlin

 ext.kotlin_version = '1.1.3-2' 

Sanne,我有和你一样的build.gradle文件,除了一个新的gradle -alpha9,并且在使用DataBindingUtil.inflate(inflater,…)时不会从onCreateView中得到运行时错误。

在我的情况下,dataBinding {enabled = true}是必需的。

但是,当我使用FragmentXBinding.inflate(inflater),直到我指定FragmentXBinding.inflate(inflater作为LayoutInflater),我得到一个生成错误(未解决的参考:databinding)。