0

我以分层方式存储我的 xml 文件,子文件夹是基于模块创建的,以减少文件夹中 xml 布局文件的混乱。但是,重构之后,Activity.java 中并没有检测到每个视图的 R.id,Android Studio 也没有检测到 layout 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的回答。我已经修复了构建问题。但 Android Studio 仍然在 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']
            }
        }
    }
4

1 回答 1

1

正确的格式是

sourceSets {
    main {
        res.srcDirs =
        [
                'src/main/res/layout/login_registration',
                    'src/main/res/layout/store_registration',
                    'src/main/res/layout',
                    'src/main/res'
        ]
    }
}
于 2020-11-19T03:36:18.110 回答