Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值。 id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc、@+id/xyz等。 如果在@后面使用“+”,表示当修改完某个布局文件并保存后,系统会自动在R.java文件中生成相应的int类型变量。变量名就是“/”后面的值,例如,@+id/xyz会在R.java文件中生成int xyz = value,其中value是一个十六进制的数。如果xyz在R.java中已经存在同名的变量,就不再生成新的变量,而该组件会使用这个已存在的变量的值。 也就是说,如果使用@+id/name形式,当R.java中存在名为name变量时,则该组件会使用该变量的值作为标识。如果不存在该变量,则添加一个新的变量,并为该变量赋相应的值(不会重复)。 既然组件的id属性是一个资源id就可以,那么自然可以引用任何已经存在的资源id值,例如,@drawable/icon、@string/ok、@+string/you等。当然,也可以设置android系统中已存在的资源id,例如,可以设置id属性值为@id/android:message。 <ListView android:id="@+id/android:message" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
 还有一种方法定义资源文件ids, 进入<android sdk安装目录>\platforms\android-1.5\data\res\values目录,找到ids.xml文件,打开后,若在ids.xml中定义了ID,则在layout中可如下定义@id/price_edit, 否则@+id/price_edit。 例如,在ids.xml中我们可以如下定义: <?xml version="1.0" encoding="utf-8"?> <resources> <item type="id" name="edit01">false</item> </resources> 在布局文件中使用: <TextView android:id="@id/edit01" /> 这样有利于统一管理资源文件。
 

简单来讲:

@+id 新增一个资源id @id和android:id,引用现有的资源id

更多相关文章

  1. Android(安卓)NDK编译本地文件以及引用第三方so文件
  2. Android(安卓)Studio如何查看资源或者函数在哪些类中被引用
  3. Android实现增量更新
  4. android 逆向工程
  5. Android中怎么破解游戏之修改金币数
  6. Android如何防止apk程序被反编译(尊重劳动成果)
  7. Android9.0万年历毕业设计H5小应用webview应用源码分析已运行通
  8. TTF字体库系列文章1 —— Android使用ttf字体库替代替图片(iconf
  9. android语音即时通讯之录音、播放功能实现代码

随机推荐

  1. Android安全检查之网络环境检测
  2. Android解决暴力点击方案
  3. android menu,activity,AlertDialog...
  4. android OkHttp3.0
  5. android 设置activity通用的全局变量(新手
  6. 用ant编译Android程序
  7. android webview加载String类型html
  8. Android涉及到的网址都记录在这把~~~~
  9. android 全屏、隐藏标题、横屏显示方法
  10. Android studio 打包混淆