在代码中看到使用 setContentView或者findViewById,这些方法的输入参数都是int型数字,如:
Button btn = (Button)findViewById(R.id.ok_btn);
其中 R.id.ok_btn 是在 项目\gen 目录下定义的一个整型变量但是在相关的xml文件里面并没有看到相关整型数字定义
但是看到了这样一个定义:
<Button android:id="@+id/ok_btn" .../>我的问题是:
1. @+id/ok_btn 是不是表明让编译器自动生成一个 ok_btn 对应的id数字?
2. R.id.ok_btn 是不是自动生成的?
3. 项目\gen 目录下的内容是不是都是编译器在编译过程中自动生成的?

解决方案 »

  1.   

    gen下的内容不需要我们去关系会自动生成 ok_btn是开发者输入的 对应的id数是自动生成的。
      

  2.   


    恩,是这样的,刚才有点儿晕,其实我想问的第三个问题是:
    程序在执行时,是如何将 ok_btn 与 这个整型value对应起来的,即:创建这个button的时候如何确定它的整型value?以及如何通过这个整型value找到这个button? ^_^
      

  3.   

    android自己封装的,如果想知道,可以研究源码
      

  4.   


    gen下面的R文件就是自动生成的 id 与 integer 之间的一个hashmap 这是编译时自动生成的,所以你不用关心,每一个id值都对应一个唯一的integer值。