码迷,mamicode.com
首页 > 移动开发 > 详细

@+android:id的一些记录

时间:2014-10-29 23:30:50      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:android   os   使用   java   sp   文件   代码   bs   应用   

在修改Settings模块的APN列表时,遇到了类似标题中的一些写法。

在网上查了一下:

加上android:表示引用android.R.id里面定义的id资源,如果android.R.id里面确实有这个id资源,就直接使用它,如果没有的话就在当前应用的R.id中产生一个标识。

id是控件的一个基本属性,这并不代表每个控件的id都不一样,其实控件的id属性是可以相同的,所有的控件被加载到内存以后就会形成一个控件树形结构,当查找控件的时候,只返回第一个id匹配的控件,所以如果一个页面中有相同id的控件,比如listview的item,当查找控件的时候要从它最邻近的一个父节点开始查找,这样才会命中。

 在布局xml中引用了"@+android:id/***"资源后,想在java代码中通过findViewById(R.id.***)获取资源,有些可以获取到对应控件的引用,有些却无法获取到。

 

关于"@+id/btn"和"@id/btn":

android:id="@+id/btn", 表示在R.java文件里面新增一个id为btn的控件索引,最常用的一种声明控件id的方式。 android:id="@android:id/tabhost",表示引用的是系统已有的ID,在对应的sdk目录下的ids.xml里面。一般外部不去调用,是组件内部调用的时候使用。

android:id="@id/btn"  ,表示引用一个已经存在的ID,在R.java里面的。比如我们自己建了一个ids.xml,里面声明了一组id,其中一个是btn;也可能是前面已经通过"@+id/btn"申明了一个id,那么你就可以这样引用了。

@+android:id的一些记录

标签:android   os   使用   java   sp   文件   代码   bs   应用   

原文地址:http://www.cnblogs.com/caidi/p/4060553.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!