何时R.layout ...转换为整数

时间:2014-03-05 02:18:48

标签: android

不是生死攸关的紧急情况,只是一个好奇的问题。 我有两个布局文件     布局/ some_xml_file     布局大/ some_xml_file

当我调用setContentView(R.layout.some_xml_file)时,“R.layout.some_xml_file”作为int传递给setContentView。

我的问题是....何时将R.layout.some_xml_file转换为int。     a - 程序开始时?所以只要程序运行它就是一个常量   - 要么 -     b - 每次调用setContentView()语句时?

2 个答案:

答案 0 :(得分:1)

查看R.java文件夹中的gen文件,您可以看到您的布局已转换为int

答案 1 :(得分:1)

调用setContentView(int)时,实际上并没有以整数形式传递布局。您实际上是在告诉它在哪里查看项目的本地资源来解码您指定的视图。

关于它何时构建:当使用像Eclipse这样的程序时,无论何时构建项目,都会生成R文件中的资源ID。在该环境之外,您可以从资源using aapt生成文件:

aapt package --non-constant-id -f -m -M <abs_path_to_AndroidManifest.xml> 
  -S <abs_path_to_res_dir> -I <abs_path_to_platforms_android.jar> 
  -J <abs_path_to_dir_that_should_contain_gen_R_java) 
  --generate-dependencies