android:id是什么的加号

该文件将“@ [+] id / myid”作为android:id的定义,表示加号是可选的。 但我无处可以find加号意味着什么或不意味着什么的定义。

这是什么意思,为什么呢?

@ + id / foo表示您正在应用程序的名称空间中创build一个名为foo的id。 你可以使用@ id / foo来引用它。 @android:id / foo表示您指的是在android命名空间中定义的一个id。 这个命名空间是框架的命名空间。 在这种情况下,您需要使用@android:id / list和@android:id / empty,因为这些是框架期望find的id(框架只知道android命名空间中的id)。

取自“Android开发人员| Google网上论坛”讨论之一。

该文件说,

加号(+)表示这是一个新的资源名称,必须创build并添加到我们的资源(在R.java文件中)。 Android框架提供了许多其他ID资源。 引用Android资源ID时,不需要加号,但必须添加android包名称空间,如下所示:

android:id="@android:id/empty"