Android R 文件和 Java 子包:R 无法解析为变量

Android R file and Java Sub-package: R can not be resolved to a variable

为了更好地组织我的课程,我制作了一些子包(这是包的分层名称结构的扩展)。

但令我惊讶的是,对于我尝试从该项目的 R 文件中使用的每个资源,我都得到了一个 R cannot be resolved to a variable

Eclipse 的快速修复选项确实提供了 为包(包含子包)导入特定 R file 的选项,但问题是在我在 Eclipse 的 New Application Project 向导中创建的包中,我根本不需要导入 R file,我一直认为它包含了整个项目的资源。

但是现在创建子包后,我需要导入它。 出于好奇所以问,既然子包什么都不是(在 Java 中)而是包本身的层次名称结构的扩展(reference),那么为什么 R file自动获取到子包中?

R 与任何其他 class 一样只是一个 class(除了 Eclipse 为您创建它并使用您的资源 ID 更新它)。

它包含在一个包裹中 - 与其他包裹一样 class。

如果您想从不同的包中使用它,您必须导入它或使用完全限定名称 - 就像使用任何其他包一样 class。