android中回调方法的参数赋值

时间:2014-12-01 09:39:37

标签: java android methods callback

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开发者网站文档中没有相关指南或说明?

感谢您的回复。

1 个答案:

答案 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方法体内的不同对象。