Java、Android将参数传递给方法

Java、Android将参数传递给方法,java,android,Java,Android,我正在通过android开发人员进行工作,现在我们正在创建一个方法,以匹配我们为android:onClick=“sendMessage”提供的方法名称 方法如下: /** Called when the user clicks the Send button */ public void sendMessage(View view) { // Do something in response to button } 本文对该方法作了如下说明: /** Called when the

我正在通过android开发人员进行工作,现在我们正在创建一个方法,以匹配我们为
android:onClick=“sendMessage”
提供的方法名称

方法如下:

/** Called when the user clicks the Send button */
public void sendMessage(View view) {
    // Do something in response to button
}
本文对该方法作了如下说明:

/** Called when the user clicks the Send button */
public void sendMessage(View view) {
    // Do something in response to button
}
为了使系统将此方法与给定给android:onClick的方法名相匹配,签名必须完全如图所示。具体而言,该方法必须:

  • 公开
  • 返回值为空
  • 将视图作为唯一参数(这将是单击的视图)
我理解为什么它必须是公共的,为什么返回值是无效的,但是为什么该方法采用(视图)而不是仅仅(视图)?我来自Ruby背景,所以语法让我很困惑。为什么我们要这样传递参数

why does the method take (View view) instead of just (view)?

视图
意味着它是一个
视图
只是一个
变量
,添加这两个变量将使
视图变量
成为
视图类
的一个对象,可以调用其所有方法。

这是由于
onClick()
OnClickListener
界面中的
方法,该方法需要类型为
视图
的参数。当您删除该参数时,Android仍将尝试调用方法
sendMessage(View-View)
,但该方法不再存在,因此您将收到错误,应用程序将强制关闭

参数视图是单击的实际视图(本例中为按钮)。这样,您可以指定多个按钮来调用同一个方法,并在方法内部检查单击了哪个按钮


有关更多信息,请参见此

如果您仅放置
视图
,您将不知道对象类型,您总是需要方法中参数的对象类型。在Ruby中,一切都是对象,对象的类型(也称为类)是隐式的。在Java中,对象类型是显式的,因此开发人员需要向与单击的对象关联的compiler.view参数说明。如果是ImageView、TextView等。键入cast并获取值或设置值。Ex:-ImageView im=(ImageView)view。为什么在方法中使用view参数,请将其用作字符串参数,因为您只发送消息—谢谢@Boopathi,我正在遵循Android开发指南,所以鉴于我对Java/Android的知识有限,我无法回答这些问题。我明白了,这是有道理的。小写视图类似于视图的实例?我将在十分钟内标记为已接受。@设置行“是”,这是View类的一个实例+1这个也一样谢谢你。