Android中“ @ id /”和“ @ + id /”之间的区别

发布于 2021-01-30 17:56:42

@id/和之间的区别是什么@+id/?

在@+id/加号中+指示创建一个新的资源名称并将其添加到R.java文件中,但是那又如何@id/呢?从:的文档中,ID当引用Android资源时ID,不需要加号,但必须添加android包名称空间,如下所示:

android:id="@android:id/list"

但是在下面的图像中,Eclipse并未提出任何建议@android:id/。

该图显示了对@ / id和@ + / id的建议

@id/@android:id/一样吗?

关注者
0
被浏览
977
1 个回答
  • 面试哥
    面试哥 2021-01-30
    为面试而生,有面试问题,就找面试哥。

    您指的是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是在使用元素的元素之后写入的,则该元素将无法识别。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看