Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android中回调方法的参数赋值_Java_Android_Methods_Callback - Fatal编程技术网

Java android中回调方法的参数赋值

Java android中回调方法的参数赋值,java,android,methods,callback,Java,Android,Methods,Callback,android中有一些回调方法,比如onCreate或onClick 我有一个关于他们的问题。 当这些回调方法出现在程序中时, 它们的参数不是由程序员指定的。 他们应该先被分配吗 比如说, Bundle saveInstanceState = something; //assign parameter saveInstanceState first. (yet not assigned in real case) public void onCreate(Bundle saveInstanc

android中有一些回调方法,比如onCreate或onClick

我有一个关于他们的问题。 当这些回调方法出现在程序中时, 它们的参数不是由程序员指定的。 他们应该先被分配吗

比如说,

Bundle  saveInstanceState = something; 
//assign parameter saveInstanceState first. (yet not assigned in real case)
public void onCreate(Bundle saveInstanceState) {
// do something .....
};

到目前为止,我读过的所有代码都没有分配saveInstanceStateof onCreate或 vof onClick由程序员编写

这是否意味着android将分配回调方法本身的参数? 如果是,所有回调方法的所有参数是否都是相同的情况

例如,onPictureTakenbyte[]数据中的数据和相机,相机{};, 它们是由android系统自动分配的,程序员不需要分配它们吗

到目前为止,我还没有在android开发者网站上找到相关的细节。 如果参数是由系统而不是程序员指定的, 为什么android开发者网站文档中没有相关的指南或注释


谢谢回复。

函数的参数由函数的调用者分配。例如:

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

您不必指定这些参数,不必。您可以直接使用它们,尽管在某些情况下它们可能为null!我可能明白你的意思,我可能明白你的意思。程序员定义了他的回调方法。然而,这些方法的调用方是系统。所以系统在调用回调方法时会分配参数。程序员不需要对这些参数的赋值做任何事情。
View v = something; 
//assign parameter v first. (yet not assgned in real case)
public void onClick(View v)  {
// do something .....
};