Java android中回调方法的参数赋值
android中有一些回调方法,比如onCreate或onClick 我有一个关于他们的问题。 当这些回调方法出现在程序中时, 它们的参数不是由程序员指定的。 他们应该先被分配吗 比如说,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
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 .....
};