【问题标题】:Equal unique ID's in different Activities不同活动中相同的唯一 ID
【发布时间】:2013-09-10 03:40:56
【问题描述】:

我想知道,如果我在 2 个不同的活动中声明两个唯一 ID,会发生什么? ID 具有相同的名称并被声明为唯一 (@+id) .. 是否有任何 ID 冲突?当我在第二个活动的代码中调用Id时,会出现任何问题,它将调用什么ID?

【问题讨论】:

标签: android


【解决方案1】:

相同的 ID 对您的代码无关紧要 假设您在 Activity A 中,那么您使用

为其设置布局
setContentView()

所以它只搜索这个 id 到这个布局

在一个布局中声明相同的 ID

1。即使每个活动都可能具有相同的 id 名称,也没有问题

重复使用 ID 名称是一种很好的做法,并且在不同的布局中使用相同的 id 也很容易处理

在一个布局中声明相同的 ID

如果你这样做也没有问题,除非你不从 Activity 类或 java 文件中访问它,因为那时编译器会在所有相似的 of 和 之间感到困惑,它会选择第一次出现 该名称的 ID。

如果您不想从后端访问它,这仍然不是问题

【讨论】:

  • 好的,谢谢.. 但是如果我在同一个活动中声明相同的 ID,那么只有一个可以是唯一的吗?
  • 在一个布局中声明 ID 两次或多次是不切实际的,因为如果您想访问该视图,那么编译器会在两者之间感到困惑,但如果您不想使用,那么它只会显示没有别的警告
  • 很抱歉,我需要 15 点声望才能做到这一点
【解决方案2】:

你不会有任何问题。

例子:

  • android.R.id.homeevery Activity 中 ActionBar 图标的 ID。
  • android.R.id.list 被每个ListActivity 使用。

【讨论】:

  • 很抱歉,我需要 15 点声望才能做到这一点。
【解决方案3】:

生成的 ID 将相同。但是,不会有问题,因为这两个视图存在于两个不同的布局 XML 中。只要 ID 在每个 XML 中不出现多次,就不会出现问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 2016-12-05
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 2017-03-26
    相关资源
    最近更新 更多