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