【发布时间】:2013-09-10 03:40:56
【问题描述】:
我想知道,如果我在 2 个不同的活动中声明两个唯一 ID,会发生什么? ID 具有相同的名称并被声明为唯一 (@+id) .. 是否有任何 ID 冲突?当我在第二个活动的代码中调用Id时,会出现任何问题,它将调用什么ID?
【问题讨论】:
标签: android
我想知道,如果我在 2 个不同的活动中声明两个唯一 ID,会发生什么? ID 具有相同的名称并被声明为唯一 (@+id) .. 是否有任何 ID 冲突?当我在第二个活动的代码中调用Id时,会出现任何问题,它将调用什么ID?
【问题讨论】:
标签: android
相同的 ID 对您的代码无关紧要
假设您在 Activity A 中,那么您使用
setContentView()
所以它只搜索这个 id 到这个布局
如果你这样做也没有问题,除非你不从 Activity 类或 java 文件中访问它,因为那时编译器会在所有相似的 of 和 之间感到困惑,它会选择第一次出现 该名称的 ID。
如果您不想从后端访问它,这仍然不是问题
【讨论】:
你不会有任何问题。
例子:
android.R.id.home 是 every Activity 中 ActionBar 图标的 ID。android.R.id.list 被每个ListActivity 使用。【讨论】:
生成的 ID 将相同。但是,不会有问题,因为这两个视图存在于两个不同的布局 XML 中。只要 ID 在每个 XML 中不出现多次,就不会出现问题。
【讨论】: