[英]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
表示它是一個class
而view
只是一個variable
加上這2個variable
使view variable
成為可以調用其所有方法的View class
的對象。
這是由於以下事實: OnClickListener
接口中的onClick()
方法需要一個View
類型的參數。 當您刪除參數時,Android仍將嘗試調用sendMessage(View view)
方法,但該方法已不存在,因此會出現錯誤,應用將強制關閉。
參數視圖是實際單擊的視圖(在您的情況下為按鈕)。 這樣,您可以分配多個按鈕來調用同一方法,並在方法內部檢查單擊了哪個按鈕。
有關更多信息,請參見此鏈接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.