android @id和@+id的区别?

如题所述

@+id 系统会自动把你起的ID名字加入到配置文件中,在业务逻辑中可以直接在R.id中找到。
而用@id 则不会自动加载到R.id 而且也不能随意起名,要在Value目录下写一个ids.xml来对每个id进行声明,声明的个格式为,<item name="" type="id" /> 这种写法主要方便统一管理
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-08
我个人觉得
前者@id是用系统已经定义了的组件 比如你刚开始初始化的时候有个string.xml 有个textview就是直接用的那个 还有android。r。id里面的
后者是你自己定义的组件本回答被提问者采纳
第2个回答  2012-03-31
不能用和能用..追问

..

android布局中的@+id和@id的区别
因此, ***@+id和@id的区别就是: @+id引用的值存在则使用, 不存在则创建; @id只能引用R.java中已经存在的值, 如果引用的值不存在则编译出错.使用这个布局, 编译是会报错, 错误如下 (关键信息, 其他省略):错误信息很明显, 就是上面的那个TextView的layout_below所引用的id值不存在 !!根据前...

android中@id和@+id的区别
+id 系统会自动把你起的ID名字加入到配置文件中,在业务逻辑中可以直接在R.id中找到。id和android:id,引用现有的资源id,@id不会自动加载到R.id 而且也不能随意起名,要在Value目录下写一个ids.xml来对每个id进行声明,声明的个格式为,<item name="" type="id" \/> ...

android @id和@+id的区别?
+id 系统会自动把你起的ID名字加入到配置文件中,在业务逻辑中可以直接在R.id中找到。而用@id 则不会自动加载到R.id 而且也不能随意起名,要在Value目录下写一个ids.xml来对每个id进行声明,声明的个格式为,<item name="" type="id" \/> 这种写法主要方便统一管理 ...

Android中XML布局文件@+id\/和@id\/的区别
一般@+id是自己为控件命名是使用,@id是直接使用系统已经定义好的好的控件,例如在Activity继承ListActivity是如果使用前者定义ListView,在代码中必须要findViewById引用控件,而使用后者定义控件就不需要了。。。

android:id="@id\/mWeb"和android:id="@+id\/mWeb"的区别?
Android layout中,@id\/mWeb 表示引用某个ID,android:id="@+id\/mWeb" 表示向Android中增加一个控件ID。Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值。id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id\/abc、@+id\/xyz等。如果在@后面使用“+”...

android 页面布局时定义控件ID时@id\/XX和@+id\/xx 有什么区别?@id\/xx...
id\/XX是引用已经有的.@+id\/XX是新加一个id.@id\/XX的用法如下 先声明一个新的随便什么比如<TextView android:id="@+id\/aa"\/> 然后再声明一个随便什么<Button android:id="@+id\/bb" android:layout align right="@id\/aa"\/>

id设置的三种方式区别在哪
(1)android:id="@+id\/btn"表示在R.java文件里面新增一个id为btn的控件索引,最常用的一种声明控件id的方式。代码获取方式:findViewById(R.id.btn);(2) android:id="@android:id\/tabhost"表示引用的是系统已有的ID,在对应的sdk目录下的ids.xml里面。一般外部不去调用,是组件内部调用的时候...

Android界面编辑开发中的activity_main.xml中“@+id\/username”与"@id\/...
Android 中的组件需要用一个 int 类型的值来表示,这个值也就是组件标签中的 id 属性值。id 属性只能接受资源类型的值,也就是必须以 开头的值,例如,id\/abc 、+id\/xyz 等。如果在 后面使用 “+”,表示当修改完某个布局文件并保存后,系统会自动在 R.java 文件中生成相应的 int 类型变量。...

Android XML文件中的@、?、@+的意义
1、首先来看这种,@string\/hello,这个的语法是:@[:]\/,其中包名是可选的,代表资源是你自己这个包中的,如下图中的例子 2、然后是“@android:color\/darker_gray”,与上一个相比,它多了”android:“,语法是相同的.,它代表引用的是系统资源。3、"@+id\/title",多了个加号,代表引用或创建...

Android开发中,xml资源文件中的id属性,为什么有的是@+id\/...有的是@...
java中已经存在同名的变量,就不再生成新的变量,而该组件会使用这个已存在的变量的值。组件的id属性是一个资源id就可以,那么可以设置任何已经存在的资源id值。android:id\/...这种方式就是设置一个已经存在的资源id。实际上,这个android就是系统的R类(在R.java文件中)所在的package。

相似回答