5

在 Android Studio 3.6 中,创建新项目后,我无法为多个文件夹创建绑定生成类。

我有多个布局文件夹:

res/layout
res/layouts/dashboard
res/layouts/notifications

我能够为

资源/布局

但它不适用于其他布局文件夹。

应用程序 gradle 文件:

dataBinding{
        enabled = true
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = "1.8"
    }
    sourceSets {
        main {
            manifest.srcFile 'src/main/AndroidManifest.xml'
            java.srcDirs = ['src/main/java']
            res.srcDirs =
                    [
                            'src/main/res/layouts/notification',
                            'src/main/res/layout/dashboard',
                            'src/main/res/layouts',
                            'src/main/res/layout',
                            'src/main/res'
                    ]
            assets.srcDirs = ['src/main/assets', 'src/main/assets/']
        }
    }

资源文件夹结构:

在此处输入图像描述

我附上了我在 android studio 3.6 中创建的示例项目。 源代码链接

4

2 回答 2

1

这是 android studio 中的一个 bug,它已在 android studio 4.0 beta 和 4.1 canary 中修复。谷歌将发布 3.6 的修补程序来修复它。

于 2020-03-08T12:10:09.087 回答
0

快速修复,直到在 Android Studio 中修复此问题:

将生成的绑定文件的输出添加到您的 gradle 文件中(这适用于视图绑定和数据绑定):

android {
    sourceSets {
        main {
            java.srcDirs += 'build/generated/data_binding_base_class_source_out/debug/out'## Heading ##
        }
    }
}

感谢https://stackoverflow.com/a/60521114/792853

于 2020-03-24T19:28:27.113 回答