【问题标题】:What's your naming convention for the View IDs?您对视图 ID 的命名约定是什么?
【发布时间】:2011-05-27 17:47:12
【问题描述】:

我相信我们中的许多人在命名视图 ID 时都会感到困扰。与打包机制不同的是,项目中资源的 ID 使用一个公共命名空间。因此,我们必须想出一些方法来命名具有相同功能但在不同布局文件中的字段。

我的方法是在原ID前面加上布局文件的Acitvity类名使用的名词或动词,用点隔开。例如,显示电影信息的 Activity 中原本名为“description”的 ID 可能会变成“movie.details.description”。

还有更好的主意吗?

【问题讨论】:

标签: android


【解决方案1】:

首先我使用了相同的概念,但现在我尝试使用更通用的 id。在你的情况下,我会简单地调用 id description。因此,您不需要每个元素的 id 并且可以重用它们,因为当您调用 findViewById(R.id.description) 时,您引用的布局并不重要,您知道您获得了该布局的描述元素。

当然你必须知道你的布局是否有描述元素。这可能是一个缺点。

【讨论】:

    【解决方案2】:

    有趣的问题。鉴于谷歌(或社区,我可能错了,但我只是在谷歌上没有找到)没有发布官方风格指南,那么它可能有点主观。您必须使用让您和您的团队感到舒适的风格。

    我的命名约定如下:

    activityname_elementtype_explicitdescription_suffix

    例如,在活动Home 中定义的按钮Login 可能变为:

    home_btn_login

    【讨论】:

    • 在您的 id 中引用活动没有多大意义,因为无法使用 findViewById() 访问其他活动视图。所以这里不可能发生冲突。
    • 在这个例子中,它可能没有意义。但是值/字符串中包含的键呢?
    • 在值/字符串中,我同意这是必要的。
    • 如果字符串在很多地方使用,比如“是”,该怎么办?我不认为这是有道理的。字符串不应与应用程序中特定位置的使用联系在一起。
    • @JeffreyBlattman 同意。就我个人而言,我的 string.xml 文件中有一个部分专门针对这些通用语言单词。
    猜你喜欢
    • 1970-01-01
    • 2010-09-20
    • 2012-11-12
    • 2011-08-20
    • 2012-11-09
    • 2011-10-06
    • 2022-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多