我试图在我的片段中使用数据绑定但是我在运行时遇到以下错误:
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"
}
}
有谁知道如何解决这个问题?
答案 0 :(得分:0)
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'
答案 1 :(得分:0)
Sanne,我有与你完全相同的build.gradle文件,除了较新的gradle -alpha9,并且在使用DataBindingUtil.inflate(inflater,...)时不会从onCreateView中获取运行时错误。< / p>
在我的情况下,dataBinding {enabled = true}是必需的。
然而,在使用FragmentXBinding.inflate(inflater)时,我确实收到了构建错误(未解析的引用:数据绑定),直到我指定FragmentXBinding.inflate(inflater为LayoutInflater)。