R.id值的范围

我正在寻找方法来减less我的应用程序中所谓的“身份污染”。 从我所知道的R.idR.id是应用程序的全局,所以在每个Activity中,我通常为元素创build唯一的资源ID值,即使我有许多相同的事情。 例如,如果我有三个活动类,每个都有一个保存和取消button,我将为R.id定义六个唯一的ID,如:

 R.id.actOne_save R.id.actOne_cancel R.id.actTwo_save R.id.actTwo_cancel R.id.actThree_save R.id.actThree_cancel 

这对我来说似乎没有必要,因为我应该只需要两个在任何Activity上运行。 在生成资源ID时,您都使用了哪些做法? 你在活动之间重复使用它们吗? 如果两个Activites(也许是一个暂停和一个前景)在同一时间存在一个id是否可以吗? 我害怕怪异的行为就像一个button点击太多的听众!

Solutions Collecting From Web of "R.id值的范围"

只要不在同一个视图中,就可以在多个元素上使用相同的ID。 所以,所有的保存button都可以有btn_save的ID,只要在同一个布局文件中没有两个,或者附加的布局,那么你就没事了。

我用:

R.id.activityName_type_action

types可能是[btn | txtview | edittext | listview …]

而动作就像[save | del | accept | name | pin …]

这是相当详细的,但是这样我可以从活动中猜出标识符名称,而不必连续检查xml布局。

例如:

R.id.loginpin_btn_accept

R.id.loginpin_txtview_pin

其他的答案是可以的,但是你也可以在你的布局文件夹中用<Button>作为根标签来创build一个save_button.xml文件。 然后在那些你需要的地方引用那个人的id。 这意味着你只需要定义一个“保存”button,并在任何地方使用它。