繁体   English   中英

Java,Android将参数传递给方法

[英]Java, Android passing params to method

我正在研究android开发人员教程 ,现在正在创建一个方法,以匹配我们给android:onClick="sendMessage"提供的方法名称。

方法如下:

/** Called when the user clicks the Send button */
public void sendMessage(View view) {
    // Do something in response to button
}

文字说明了这种方法:

为了使系统将此方法与android:onClick给出的方法名称匹配,签名必须完全如图所示。 具体来说,该方法必须:

  • 公开
  • 返回值无效
  • 将视图作为唯一参数(这将是单击的视图)

我知道为什么它必须是公共的,为什么返回值是空的,但是为什么该方法采用(View view)而不是(view)? 我来自Ruby背景,因此语法令人困惑。 为什么我们要传递这样的参数?

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

View表示它是一个classview只是一个variable加上这2个variable使view variable成为可以调用其所有方法的View class的对象。

这是由于以下事实: OnClickListener 接口中的onClick()方法需要一个View类型的参数。 当您删除参数时,Android仍将尝试调用sendMessage(View view)方法,但该方法已不存在,因此会出现错误,应用将强制关闭。

参数视图是实际单击的视图(在您的情况下为按钮)。 这样,您可以分配多个按钮来调用同一方法,并在方法内部检查单击了哪个按钮。

有关更多信息,请参见此链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM