发布于 2024-11-28 02:21:54 字数 341 浏览 0 评论 0原文

XML 布局中视图的资源 ID 在所有布局中必须是唯一的吗?

例如,我正在开发一个小食谱管理应用程序。我有一个用于添加新成分的布局文件。在此布局中,我有一个用于成分的 EditText,我想将其称为“edt_name”。但恐怕这个名字太笼统了;例如,我可能在其他 XML 布局文件中也有一个用于菜谱名称、烹饪过程名称等的 EditText。

但是,我也不想让标签变得不必要的复杂。如果可以的话,我想避免将上述 EditText 称为“edt_name_new_ingredient”。

我很好奇开发人员一般如何组织他们的资源。据我所知,Android 不支持资源子目录,因此命名方案可能会变得非常混乱。

Must the resource ID's for views in XML layouts be unique across all layouts?

For example, I'm working on a little recipe manager app. I have a layout file for adding a new ingredient. In this layout I have an EditText for the ingredient that I'd like to call "edt_name". But I'm afraid that this name is too general; e.g. I might also have an EditText for a recipe name, a cooking procedure name, etc in other XML layout files.

However, I also don't want to make the labels more complex than necessary. I'd like to avoid calling the aforementioned EditText "edt_name_new_ingredient" if I could.

I'm curious as to how developers organize their resources in general. Android doesn't support sub-directories for resources as far as I know, so naming schemes can get really messy.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笑,眼淚并存 2024-12-05 02:21:54

不可以,资源 ID 在不同的 xml 布局中不应是唯一的,但它们在特定的 xml 文件中必须是唯一的。

No, resource ID should not be unique across different xml layouts however they must be unique in a particular xml file.

梦中楼上月下 2024-12-05 02:21:54

资源 ID 在包内以命名空间命名。当您访问资源(例如 XML 格式)时,包名称会隐式设置为当前名称。您可以将其他资源文件放在不同的包中,并引用您的代码或 XML 中的资源文件(这是访问 SDK 附带的平台资源的方式)。

类似地,在代码中,您可以访问不同包的 R 类并使用其资源,但同一包中的所有类都必须具有唯一的名称。

更多信息可以在此处文档中找到。

Resource IDs are namespaced within the package. When you access a resource (in XML, for example), the package name is implicitly set to the current one. You can have other resource files in a different package and refer to those within your code or XML (this is how one accesses the platform resources that come with the SDK).

Similarly in code, you can access a different package's R class and use its resources, but all those within the same package must have unique names.

More info can be found in the documentation here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文