android中有一些回调方法,比如“onCreate”或“onClick”。
我对他们有疑问。 当这些回调方法出现在程序中时, 它们的参数不是由程序员分配的。 它们应该先分配吗?
例如,
Bundle saveInstanceState = something;
//assign parameter saveInstanceState first. (yet not assigned in real case)
public void onCreate(Bundle saveInstanceState) {
// do something .....
};
或
View v = something;
//assign parameter v first. (yet not assgned in real case)
public void onClick(View v) {
// do something .....
};
到目前为止我读过的所有代码都没有指定“onInterre”的“saveInstanceState”或 程序员的“v”(onClick)。
这是否意味着“android将自己分配回调方法的那些参数”? 如果是这样,所有回调方法的所有参数都是相同的情况吗?
例如,“onPictureTaken中的数据和相机(byte []数据,相机相机){};”, 它们是由android系统自动分配的,程序员不需要分配它们吗?
到目前为止,我在android开发者网站上找不到相关详细信息。 如果参数是由系统分配的,而不是由程序员分配的, 为什么Android开发者网站文档中没有相关指南或说明?
感谢您的回复。
答案 0 :(得分:0)
函数的参数由函数的调用者分配。例如:
int x = 0;
public void test(int x)
{
System.out.println(x);
System.out.println(this.x);
}
test(2);
//prints
//2
//0
所以在你的情况下
View v = something;
//assign parameter v first. (yet not assgned in real case)
public void onClick(View v) {
// do something .....
};
v和this.v将引用onClick方法体内的不同对象。