ViewBinding生成的类经常在一些不经意的操作之后爆红,说找不到,虽然不影响运行,但是看起来很不爽,即便你能看到生成类就在那躺着,但是AS就是说找不到。既然它自己找不到,那就给它指个路。
在app下的build.gradle添加配置,将生成的文件手动添加进去即可
| 12
 3
 4
 5
 6
 7
 
 | android {sourceSets {
 debug {
 java.srcDirs = ['src/main/java', 'build/generated/data_binding_base_class_source_out/debug/out']
 }
 }
 }
 
 | 
当然,也可以包含完整的资源
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 
 | android { sourceSets {
 main {
 assets.srcDirs = ['src/main/assets', 'src/main/assets/']
 jniLibs.srcDirs = ['libs']
 res.srcDirs = ['src/main/res']
 java {
 srcDirs = ['src/main/java']
 exclude 'src/ignoreDir'
 }
 }
 debug {
 java.srcDirs = ['src/main/java', 'build/generated/data_binding_base_class_source_out/debug/out']
 }
 release {
 java.srcDirs = ['src/main/java', 'build/generated/data_binding_base_class_source_out/release/out']
 }
 }
 }
 
 | 
但是,这样会带来另外一个问题,原本点生成的ViewBinding生成类,是跳转到对应的xml布局文件中,当添加了资源目录后,跳转到的就是生成的类文件了。原因是,加入到sourceSets后,生成类文件就被IDE当成普通的类文件处理。我觉得,相比于爆红,这个倒是可以接受的,不通过生成类跳转便是了。