Android布局XML中的"@id/android:list"和"@android:id/list"有何区别?

3
在Android的文档和我接手的应用程序中,有时会看到具有以下形式的视图ID:

"@id/android:list"

有时需要通过表单进行操作。
"@android:id/list"

也就是说,“android:”有时出现在“@”和“id”之间,有时出现在“/”和实际ID之间。这两种形式的含义是什么?它们等效吗?
1个回答

3
我认为从功能上来说,两者是等效的,都会寻找android.R.id.list。他们只是用不同的方式表达了同一件事。
在android中,资源是特定于包的。使用@id/android:list会在android包内查找列表id。在这个版本中,你要查找的包由:指定。在第二个例子中,@android:id/list先定义了包,也就是android包,然后告诉它在该包内查找id/list。
这与使用@string/whatever或@id/blah时的情况类似。在这些情况下,系统将在您的应用程序包中查找该资源。通过首先放置android,您只是告诉它在android包中查找这些资源,而不是在您自己的应用程序资源文件夹中查找。
我认为这篇帖子也回答了你的问题。它还有一些更详细的评论可能会有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接