android studio无法检测布局r.id,并且布局xml在重构后无法检测标记

tktrz96b  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(564)

我以分层的方式存储xml文件,子文件夹是基于模块创建的,以减少文件夹中xml布局文件的混乱。但是,重构之后,activity.java中没有检测到每个视图的r.id,android studio也没有检测到布局xml中的标记。
我已经将src目录添加到build.gradle中,但它仍然会给我带来错误。

sourceSets {
    main {
        res {
            srcDirs 'src/main/res/layout/login_registration',
                    'src/main/res/layout/store_registration',
                    'src/main/res/layout',
                    'src/main/res'
        }
    }
}

错误的快照示例:

Can't determine type for tag '<FrameLayout android:id="@+id/login_registration_fragment_container" android:layout_height="match_parent" android:layout_width="match_parent" tools:layout_editor_absoluteX="171dp" tools:layout_editor_absoluteY="225dp"/>'

Can't determine type for tag '<include android:layout_height="match_parent" android:layout_width="match_parent" layout="@layout/app_bar_main"/>'

我遵循了android布局文件夹是否包含子文件夹的指导?。但它不起作用。我是否做错了什么,或者是否有其他方法来管理大型应用程序的布局xml文件。
编辑:谢谢你的回答https://stackoverflow.com/a/64905044/12311798. 我已经修复了构建问题。但是androidstudio仍然显示java和xml文件中的错误。我怎样才能摆脱这个警告呢?因为布局资源是由gradle检测到的。
android studio中的错误截图:


已更新build.gradle中的src目录:

sourceSets {
        main {
            res {
                srcDirs  = ['src/main/res/layout/login_registration',
                        'src/main/res/layout/store_registration',
                        'src/main/res/layout',
                        'src/main/res']
            }
        }
    }
3df52oht

3df52oht1#

正确的格式是

sourceSets {
    main {
        res.srcDirs =
        [
                'src/main/res/layout/login_registration',
                    'src/main/res/layout/store_registration',
                    'src/main/res/layout',
                    'src/main/res'
        ]
    }
}

相关问题