@id/和有什么区别@+id/?
@id/
@+id/
@+id/ 加号+指示创建一个新的资源名称并添加到文件中R.java,但是呢 @id/ ?从ID: 的文档中引用 Android 资源时ID,不需要加号,但必须添加 android 包命名空间,如下所示:
+
R.java
ID
android:id="@android:id/list"
但在下图中 Eclipse 并没有建议任何类型的@android:id/.
@android:id/
@id/和@android:id/一样吗?
您指的Android resources是已经在 Android 系统中定义的,@android:id/..同时访问您在项目中定义/创建的资源,您使用@id/..
Android resources
@android:id/..
@id/..
更多信息
根据您在聊天中的说明,您说您遇到了这样的问题:
如果我们使用android:id="@id/layout_item_id"它是行不通的。相反@+id/有效,那么这里有什么区别?那是我最初的问题。
android:id="@id/layout_item_id"
好吧,这取决于上下文,当您使用 的 XML 属性时android:id,您将指定一个新 id,并指示解析器(或称其为构建器)在 中创建一个新条目R.java,因此您必须包括一个+标志。
android:id
而在另一种情况下,例如android:layout_below="@id/myTextView",您指的是已经创建的 id,因此解析器将其链接到 中已创建的 id R.java。
android:layout_below="@id/myTextView"
再次提供更多信息
正如您在聊天中所说,请注意,如果它写在您使用它的元素之后,android:layout_below="@id/myTextView"它将无法识别带有 id的元素。myTextView
myTextView