我可以在Android中以不同的布局使用相同的ID吗?

我是Android开发新手。 在不同的Layout XML文件中对图像和TextViews使用相同的ID是否正确?

当eclipse为我自动列出它时,它会列出项目中的所有布局variables,它会发生冲突吗? 到目前为止,我还没有注意到在不同的布局中使用相同的ID有任何问题,但我长期关注。

build议您针对不同的布局使用不同的ID。 从长远来看,当你将有很多的布局,因此很多的ID会很难区分它们。

我通常这样命名我的ID: layoutName_elementId

它适用于我很容易地find我正在寻找的ID,尤其是当使用自动完成(我知道什么布局我工作,但我不知道ID;在这种情况下,我的命名策略,我只input布局名称,它会带来该布局的所有ID)。

有关布局和ID的更多信息可以在这里find。

快乐的编码,

简答:是的,你可以。

长答案:您可以这样做,因为无论何时使用findViewById()获取对布局的一部分的引用,该方法只会在当前充满膨胀的布局中查找该视图。 所以即使你在另一个布局中有另一个具有相同ID的视图,Android也不会在那里寻找它。

根据开发人员API指南:

一个ID在整个树中不必是唯一的,但是它在你search的树的部分应该是唯一的(通常可能是整棵树,所以最好在可能的情况下是完全唯一的)。

所以简短的回答是,这不是强制性的,但是避免可能的冲突是一个很好的做法。