该文档说“@ [+] id / myid”作为android:id的定义,从符号表示加号是可选的。但是我无处可以找到加号意味着什么或不提供它的定义。
这是什么意思,为什么会这样?
答案 0 :(得分:29)
@ + id / foo表示您在命名空间中创建名为foo的id 你的申请。你可以使用@ id / foo来引用它。 @android:ID /富 意味着你指的是android命名空间中定义的id。 此命名空间是框架的命名空间。在这种情况下,你 需要使用@android:id / list和@android:id / empty因为这些是 框架期望找到的id(框架只知道 android命名空间中的ID。)
答案 1 :(得分:20)
加号(+)表示这是 必须是新的资源名称 创建并添加到我们的资源(in R.java文件)。有一些 提供的其他ID资源 由Android框架。什么时候 引用Android资源ID, 你不需要加号,但是 必须添加android包 命名空间,如:
android:id="@android:id/empty"