视图 arg0 和视图 v 有什么区别?
What is the difference between View arg0 and View v?
我为我的代码写了一个 xml 文件,它有 2 个按钮。但是,java 文件中的按钮默认显示此内容。
BCel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
output=(input-32)*5/9;
}
});
BFah.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
output=1.8*input+32;
}
});
(output=...明明是我写的)
我不明白的是为什么第一个显示arg0,第二个显示v。
其他类似的问题问为什么显示arg0,arg1,ar2等,但是我看不懂这个品种。
这会导致我的应用程序出错吗?
arg0
和 v
只是变量名。您可以选择任何有效的 Java 标识符。
What I don't understand is why does it show arg0 in the first one and v in the second one.
如果您在 Eclipse 中选择选项 "Override method in OnClickListener" 或让 Eclipse 以匿名方式填写方法 class 它会自动 select 与覆盖方法相同的变量名称(如果未附加源代码,则为 argN)。
Will this cause any error in my application ?
不,只要您坚持使用有效的 Java 标识符,就不会导致任何错误。
使用不同的名称不会导致您的应用程序出错。它们是这些方法的参数名称。当您使用 new View.OnClickListener() {...}
实例化匿名 class 时,很可能只是 Eclipse 自动生成参数名称,但您可以使用任何有效的 Java 标识符。
arg0 和 v 之间没有任何区别。两者都只是标识符
可能是因为
本声明
output=1.8*input+32;
可能是转换错误等,具体取决于 "input"
的数据类型
您可以为变量使用任何名称,但 matter.You 会出现错误,因为 input
是未定义的符号。使用前必须声明。
我为我的代码写了一个 xml 文件,它有 2 个按钮。但是,java 文件中的按钮默认显示此内容。
BCel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
output=(input-32)*5/9;
}
});
BFah.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
output=1.8*input+32;
}
});
(output=...明明是我写的)
我不明白的是为什么第一个显示arg0,第二个显示v。 其他类似的问题问为什么显示arg0,arg1,ar2等,但是我看不懂这个品种。
这会导致我的应用程序出错吗?
arg0
和 v
只是变量名。您可以选择任何有效的 Java 标识符。
What I don't understand is why does it show arg0 in the first one and v in the second one.
如果您在 Eclipse 中选择选项 "Override method in OnClickListener" 或让 Eclipse 以匿名方式填写方法 class 它会自动 select 与覆盖方法相同的变量名称(如果未附加源代码,则为 argN)。
Will this cause any error in my application ?
不,只要您坚持使用有效的 Java 标识符,就不会导致任何错误。
使用不同的名称不会导致您的应用程序出错。它们是这些方法的参数名称。当您使用 new View.OnClickListener() {...}
实例化匿名 class 时,很可能只是 Eclipse 自动生成参数名称,但您可以使用任何有效的 Java 标识符。
arg0 和 v 之间没有任何区别。两者都只是标识符 可能是因为 本声明
output=1.8*input+32;
可能是转换错误等,具体取决于 "input"
的数据类型您可以为变量使用任何名称,但 matter.You 会出现错误,因为 input
是未定义的符号。使用前必须声明。