XML布局中的视图的资源ID必须在所有布局中是唯一的吗?
例如,我正在开发一个小食谱管理器应用程序。我有一个用于添加新成分的布局文件。在这个布局中,我有一个EditText作为我想称之为“edt_name”的成分。但我担心这个名字太笼统了;例如我可能还有其他XML布局文件中的配方名称,烹饪过程名称等的EditText。
但是,我也不想让标签比必要的更复杂。如果可以的话,我想避免调用前面提到的EditText“edt_name_new_ingredient”。
我很好奇开发人员如何组织他们的资源。据我所知,Android不支持资源的子目录,因此命名方案可能会变得非常混乱。
答案 0 :(得分:6)
不,资源ID在不同的xml布局中不应该是唯一的,但它们在特定的xml文件中必须是唯一的。
答案 1 :(得分:2)
资源ID在包中命名。当您访问资源(例如,使用XML)时,包名称将隐式设置为当前的名称。您可以在其他包中包含其他资源文件,并参考代码或XML中的那些(这是访问SDK附带的平台资源的方式)。
同样在代码中,您可以访问其他包的R
类并使用其资源,但同一包中的所有包必须具有唯一的名称。
更多信息可在文档here中找到。