Android开发中,xml资源文件中的id属性,为什么有的是@+id/....有的是@android:id/....;而且为什么有+号

如题所述

第1个回答  推荐于2016-01-24
Android中组件需要用一个int类型的值来表示,这个值就是组件的id。
如果在@后面使用“+”,表示当修改完某个布局文件并保存后,系统会自动在R.java
文件中生成相应的int类型变量。例如,@+id/button1会在R.java文件中生成int button1 = value,其中value是一个十六进制的数。如果button1在R.java中已经存在同名的变量,就不再生成新的变量,而该组件会使用这个已存在的变量的值。

组件的id属性是一个资源id就可以,那么可以设置任何已经存在的资源id值。
@android:id/....这种方式就是设置一个已经存在的资源id。实际上,这个android就是系统的R类(在R.java文件中)所在的package。追问

第二种@android:id/ 你的意思是说,这样的Id是事先为某个视图或者控件就准备好了的(就好比语法中的保留字),所以,他们的整型值已经默认在R.java中定义了。是不是这样?

追答

就是直接引用系统已经定义好的值

本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网