【发布时间】:2013-06-05 20:13:44
【问题描述】:
在 Android 自己的文档和我继承的应用程序中,我有时会看到表单的视图 ID
"@id/android:list"
有时还有形式
"@android:id/list"
也就是说,“android:”有时出现在“@”和“id”之间,有时出现在“/”和实际 ID 之间。
这两种形式的含义是什么?它们是等价的吗?
【问题讨论】:
在 Android 自己的文档和我继承的应用程序中,我有时会看到表单的视图 ID
"@id/android:list"
有时还有形式
"@android:id/list"
也就是说,“android:”有时出现在“@”和“id”之间,有时出现在“/”和实际 ID 之间。
这两种形式的含义是什么?它们是等价的吗?
【问题讨论】:
从功能上讲,我相信这两者是等价的,并且都会寻找 android.R.id.list。 他们只是用不同的方式说同样的话。
android 中的资源是特定于包的。说 @id/android:list 将在 android 包中查找列表 id。在此版本中,您正在查看的包由 : 指示。在第二个示例@android:id/list 中,您首先定义包,即 android 包,然后告诉它在该包中查找 id/list。
这就像你说@string/whatever 或@id/blah 一样。在这些情况下,系统会在您的应用程序包中查找该资源。通过首先放置 android,您只是告诉它在 android 包中查找这些资源,而不是在您自己的应用程序资源文件夹中。
我认为this post 也回答了您的问题。它还有一些更详细的 cmets 可能会有所帮助。
【讨论】: