[DataBindingUtil在添加安全参数依赖项后不起作用

问题描述 投票:0回答:1

我正在添加safe-args依赖项:

项目级别:

dependencies {
    classpath 'com.android.tools.build:gradle:3.3.0'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$version_kotlin"
    classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:$version_navigation"

应用级别:

apply plugin: 'androidx.navigation.safeargs'

例如,当我同步项目时,我的数据绑定停止工作:

val binding: FragmentGameOverBinding = DataBindingUtil.inflate(
        inflater, R.layout.fragment_game_over, container, false)
binding.tryAgainButton.setOnClickListener {view: View ->
    view.findNavController().navigate(R.id.action_gameOverFragment2_to_gameFragment2)
}
return binding.root

binding.root显示未解决的引用,当我转到DataBindingUtil.java时,出现错误:

Library source does not match the bytecode for class DataBindingUtil

我正在遵循Google的udacity课程中的确切步骤,但是似乎添加safe-args依赖关系与数据绑定库发生了某种冲突。我该如何解决?

android android-databinding android-safe-args
1个回答
0
投票

转到您的[[gradle.properties文件,检查是否在其中或添加它:

android.enableJetifier=true android.useAndroidX=true
然后转到您的

build.gradle

(应用程序),并将其添加到android {]下dataBinding { enabled = true } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8 }
大胆课程没有更新,这是我使用的依赖版本

注意此部分:

而不是用作Udacity建议

// Navigation implementation "android.arch.navigation:navigation-fragment-ktx:$version_navigation" implementation "android.arch.navigation:navigation-ui-ktx:$version_navigation"

使用

// Navigation implementation "androidx.navigation:navigation-fragment-ktx:$version_navigation" implementation "androidx.navigation:navigation-ui-ktx:$version_navigation"
这里是使用的版本的依赖关系的完整列表(以防万一)

apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' apply plugin: 'androidx.navigation.safeargs' dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.21" // Support libraries implementation "androidx.constraintlayout:constraintlayout:1.1.3" // Android KTX implementation "androidx.core:core-ktx:"1.2.0" // Room and Lifecycle dependencies implementation "androidx.room:room-runtime:$version_room" implementation 'androidx.legacy:legacy-support-v4:1.0.0' kapt "androidx.room:room-compiler:"2.0.0" implementation "androidx.lifecycle:lifecycle-extensions:2.2.0" // Coroutines implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:"1.1.0" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:"1.1.0" // Navigation implementation "androidx.navigation:navigation-fragment-ktx:2.3.0-alpha04" implementation "androidx.navigation:navigation-ui-ktx:2.3.0-alpha04" // Testing testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' }

© www.soinside.com 2019 - 2024. All rights reserved.