3

在 Android 自己的文档和我继承的应用程序中,我有时会看到带有表单的视图 ID

"@id/android:list"

有时用形式

"@android:id/list"

也就是说,“android:”有时出现在“@”和“id”之间,有时出现在“/”和实际 ID 之间。

这两种形式的含义是什么?它们是等价的吗?

4

1 回答 1

3

从功能上讲,我相信这两者是等价的,并且都会寻找 android.R.id.list。他们只是用不同的方式说同样的话。

android 中的资源是特定于包的。说 @id/android:list 将在 android 包中查找列表 id。在此版本中,您正在查看的包由 : 指示。在第二个示例@android:id/list 中,您首先定义包,即 android 包,然后告诉它在该包中查找 id/list。

这就像你说@string/whatever 或@id/blah 一样。在这些情况下,系统会在您的应用程序包中查找该资源。通过首先放置 android,您只是告诉它在 android 包中查找这些资源,而不是在您自己的应用程序资源文件夹中。

我认为这篇文章也回答了你的问题。它还有一些更详细的评论,可能会有所帮助。

于 2013-06-05T20:23:46.630 回答