Android中“ @ id /”和“ @ + id /”之间的区别
@id/和之间的区别是什么@+id/?
在@+id/加号中+指示创建一个新的资源名称并将其添加到R.java文件中,但是那又如何@id/呢?从:的文档中,ID当引用Android资源时ID,不需要加号,但必须添加android包名称空间,如下所示:
android:id="@android:id/list"
但是在下面的图像中,Eclipse并未提出任何建议@android:id/。
该图显示了对@ / id和@ + / id的建议
是@id/
和@android:id/
一样吗?
-
您指的是
Android resources
,它们已经在Android
系统中定义,并且@android:id/..
在访问您在项目中定义/创建的资源时,您可以使用@id/..
更多信息
根据您在聊天室中所做的澄清,您说自己有这样的问题:
如果我们使用android:id=”@id/layout_item_id”它不起作用。而是@+id/可以工作,所以这里有什么区别?那是我最初的问题。
好吧,这取决于上下文,当您使用的XML属性时android:id,您要指定一个新的ID,并指示解析器(或称其为builder)在中创建新条目R.java,因此您必须包括一个+标志。
在另一种情况下,例如
android:layout_below="@id/myTextView"
,您指的是已经创建的ID,因此解析器将此链接到中已创建的ID R.java。再次获得更多信息
正如您在聊天中所说的那样,请注意,如果
android:layout_below="@id/myTextView"ID myTextView
是在使用元素的元素之后写入的,则该元素将无法识别。