提问者:小点点

未为多个布局文件夹生成数据库绑定类


在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中创建的示例项目。源代码链接


共2个答案

匿名用户

这是Android Studio的bug,它已经在Android Studio4.0beta和4.1金丝雀中修复。谷歌将发布3.6的热修复补丁来修复它。

匿名用户

快速修复,直到在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

相关问题