gpt4 book ai didi

跨动态功能的 Android ViewBindings

转载 作者:行者123 更新时间:2023-12-03 17:26:19 27 4
gpt4 key购买 nike

碰巧我有一个主应用程序模块

构建.gradle

    dynamicFeatures = [":myFeature"]

viewBinding {
enabled = true
}

AdroidManifest.xml
package="com.mydomain.testproject"

使用我在整个应用程序中使用的一些常见布局
情商: app/res/error_view.xml
我有动态功能文件

构建.gradle
    viewBinding {
enabled = true
}

AdroidManifest.xml
package="com.mydomain.testproject.myFeature"

myfeature_fragment.xml
    <include
android:id="@+id/error_view"
layout="@layout/error_view"
android:visibility="gone" />

MyFeatureFragment.kt
binding = MyFeatureFragmentBinding.bind(view)

问题来了。
当我尝试访问 binding.errorView AS 显示错误 Cannot access class 'com.mydomain.testproject.myFeature.databinding.ErrorViewBinding'. Check your module classpath for missing or conflicting dependencies
奇怪的是当我检查生成的 MyFeatureFragmentBinding类它包含以下内容
  @NonNull
public final View errorView;

所以我想 AS 知道的比它对我显示的要多。
我还在主模块生成的类中发现了原始的 ErrorViewBinding和OFC它从那里完美地工作。

有人设法从另一个功能模块中引用了一个通用布局?
或者如何强制生成的公共(public) View 绑定(bind)的类型?

最佳答案

应用此插件后我遇到了同样的问题 在动态模块 Gradle 文件中

apply plugin: 'kotlin-kapt'
然后在 android block 内启用这样的数据绑定(bind)
dataBinding.enabled = true
对于像我这样使用 gradle.kts 文件的人
plugins {
id("kotlin-kapt")
}
并在 android block 内启用这样的数据绑定(bind)
// enable data binding inside module
dataBinding.apply {
isEnabled = true
}

关于跨动态功能的 Android ViewBindings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60526267/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com