我是java和android编程的新手。我正在通过开发人员页面尝试找出这个地址并在此地址找到的示例:http://developer.android.com/training/basics/fragments/creating.html 产生了我无法解释的结果。具体来说,R文件在ID子部分中生成了几个我在任何资源文件中找不到的变量。我不知道我是在寻找错误的地方,还是预先生成的不是来自提供的xmls?我只是想了解R文件生成的动态以及与资源文件的交互,并且无法协调该示例。
答案 0 :(得分:0)
无法找到R文件中生成的ID,它们是通过算法生成的,您必须将它们想象为哈希码,这些哈希码是唯一生成的
答案 1 :(得分:0)
在android项目中,每次构建项目时都会自动更新或生成R类。默认情况下,当您保存更改或按ctrl + s时,eclipse会自动构建或编译代码。因此,资源R的任何更改都会更新。当你指定新的id,布局,drawable,菜单,字符串,样式等时,android会在你的R类中添加一个引用静态整数。
示例:
public static final class id {
public static final int image=0x7f070001;
public static final int input=0x7f070000;
public static final int menu_settings=0x7f070002;
}
当您添加@ + id / myname时,R将更新为...
public static final class id {
public static final int image=0x7f070001;
public static final int input=0x7f070000;
public static final int menu_settings=0x7f070002;
public static final int myname=0x<something>;
}
当您想要查找,设置或获取时,R类也可用于访问或作为参考。
setContentView(R.layout.activity_main); //this will set the layout in the activity where R class points out to the integer reference in the R class which somehow used by the system to get the xml layout activity_main
someView.setBackgroundResource(R.drawable.picture) //R points to the integer reference of image which then the system interprets the someView's background is set by the image file picture under drawable resource.
我希望这有助于并欢迎使用android:)