在修改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:, 表示在R.java文件里面新增一个id为btn的控件索引,最常用的一种声明控件id的方式。 android:,表示引用的是系统已有的ID,在对应的sdk目录下的ids.xml里面。一般外部不去调用,是组件内部调用的时候使用。

android:申明了一个id,那么你就可以这样引用了。

相关文章:

  • 2021-12-29
  • 2021-08-01
  • 2021-09-17
  • 2021-11-30
  • 2021-11-07
  • 2022-12-23
  • 2021-12-07
猜你喜欢
  • 2021-05-26
  • 2021-09-12
  • 2022-12-23
  • 2021-10-17
  • 2022-02-20
  • 2022-01-12
  • 2021-05-24
相关资源
相似解决方案