【发布时间】:2012-01-12 19:45:48
【问题描述】:
我在<merge> 中有一堆Views,我将<merge> 包含在RelativeLayout 中。我尝试引用包含Views 的ID 作为我的其他Views 的锚点,但Eclipse 抱怨ID 没有解析。当我第一次引用它们而不是当我实际定义它们引用的对象时,我通过使用@+id 而不是@id 找到了一种解决方法。我已经在Style 和包含的<merge> 中定义了两个IDs,它们被声明的地方,所以如果我继续重复ID 的定义,感觉有点低效。
这是正确的做法吗?我假设这很糟糕,因为“+”是另一个初始化。我目前的假设是,您应该在第一次使用 ID 时使用@+id,而不是在初始化 ID 将要表示的对象时使用,有点像@ 987654333@ 以及它们如何在使用该函数的实际代码之前的行中至少需要一个函数原型。
我的另一个问题是,当您使用 Eclipse 的基于 GUI 的 UI 构建器时,我注意到他们总是使用 @+id 而不是 @id。这是可以接受的吗,因为它对我来说似乎效率低下;好像应用程序将花费更多时间来确定 ID 是否已在 R.id 中声明。
【问题讨论】: