簡體   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