5

假设我有一个活动,我从一个 XML 文件设置内容视图。

假设我在 Java 代码中有一个按钮,acceptButton。

acceptButton =(Button)findViewById(R.id.acceptBtn);

在上面的代码中,Java 名称和 XML id 是不同的。是否有命名小部件的“最佳实践”或标准?例如,是否也应将 XML id 称为 acceptButton,而不是 acceptBtn?这似乎微不足道,但当其他人为 Android 名称和 XML id 提供完全不同的名称时,这让我很恼火。

4

4 回答 4

4

Google 没有关于在 xml 文件中命名资源的建议。还要检查贡献者的代码样式指南,您没有发现任何提及它,因此最好查看 SDK,您可以在其中看到 Google 在标识符命名方面不一致。

在整个 SDK 中,您可以找到如下约定:

mHeaderText = (TextView) view.findViewById(R.id.headerText);

mHeaderText = (TextView) view.findViewById(R.id.header_text);

mHeaderText = (TextView) view.findViewById(R.id.HeaderText);

我建议每个项目保持一致。决定一种命名约定并在整个项目中使用它。

于 2012-08-16T06:50:24.563 回答
0

Java 名称和 XML id 从来都不是强制性的。而且我认为谷歌没有提供任何这样的命名标准。但是,如果它们都相同,这似乎是一个很好的做法。通过保持它们相同,我们可以仅在有多个控件时通过名称轻松识别控件。

另一种方法是您可以定义 java 名称和 XML id 的命名样式,并为所有控件遵循相同的方式。但它是特定于开发人员或项目的。

于 2012-08-16T04:12:42.210 回答
0

正如 Nirav 所说,这从来都不是强制性的,但是 id 和 Variable 具有相同的名称是一种很好的做法,我总是这样做。这件事节省了您的时间,您无需记住 xml 中的 Id 和代码中的变量的不同名称,而且您只需在 xml 中将其定义为代码后复制和粘贴即可。

于 2012-08-16T04:17:22.673 回答
0

我会将它更贴切地解释为 Java 约定:“ AcceptBtn ”指向一个类,“ acceptBtn ”指向一个实例,“ accept_btn ”——其他。“id”更像是一个实例,而不是一个类。至少其他人。但我更喜欢它作为一个例子。

R.id.AcceptBtn // As a class.
R.id.acceptBtn // As an instance.
R.id.accept_btn // Other cases.

此外,根据 Steve McConnel 的“代码完成” , acceptBtn更可取的是写成acceptButton。它更具可读性和可写性,但我们阅读代码的次数多于编写代码。所以可读的代码可以节省更多的时间。

于 2018-01-16T04:24:23.567 回答