通常情况下,我们应该使用@+id/
来定义ID并使用@id
来引用ID。今天我在@+android:id/title
找到了apps/settings/res/layout/preferenc_progress.xml
。
如何理解它以及如何使用它?
答案 0 :(得分:4)
它用于随SDK一起提供的资源。
您可以浏览
来查看它们
[PATH TO ANDROID SDK]/platforms/android-[VERSION]/data/res
使用android
中的android.R.whatever
,您只需指定要查找的R文件即可。有关详细信息,请阅读Accessing Platform Resources。
答案 1 :(得分:1)
属于应用程序首选项活动屏幕定义。 标题和摘要是TextView首选项的标准Android字段。
答案 2 :(得分:0)
我从来没有遇到过这种给出id的方式,但理论上这意味着要向title
包添加新的android
。因此,您可以在代码android.R.id.title
中使用它。但我不确定资源编译器是否真的会在android
包中创建任何id。我认为它只能用于预定义的ID。但是,当我能够检查它时,我会在稍后给你更准确的答案。
编辑:我查了一下,发现了一些差异。首先,如果您使用已存在于SDK中的@+android:id/some_id
定义Android的ID,则不会在您的R.java文件中定义此ID。如果SDK中没有它,它将在R.java中定义,但具有不同类型的值。其次,如果您尝试将id从其字符串表示形式转换为int值,Resources.getIdentifier()
方法将在@+android:id
格式的情况下返回0。
答案 3 :(得分:0)
我认为它做同样的事情。通过指定命名空间的位置,这只是一种更正式的说法。
答案 4 :(得分:-1)
这意味着它将在您的资源文件中创建一个id。