為甚麼會想要寫這篇文章的原因,是因為當我在讀「Java SE 8 與 Android 5.x 程式設計範例教本」以及
「Android APP 程式開發剖析 第二版」中的 Listener 的部分時,發現使用Button元件時至少有兩種不
同的寫法,但在說明我所看的的兩種寫法前,我想要先稍微簡單的介紹什麼是「生命週期」。
生命週期,就是一個Application打開到關閉的執行,以最簡單的例子來說,當你打開一個APP到你所看到
的第一個畫面停留為止,中間共經過了三道程序,分別是 onCreate、onStart、onResume。
我們會發現當我們一開始在創建一個專案的時候,就已經會有一個程序自動產生,那就是
protected void onCreate() { }
通常我們會把主程式以及永遠都要執行的程式放在其中,因為onCreate除了在關閉這個APP之前,永遠不
會被重置或停止執行。這也意味著我們在UI介面內我們所需要使用到的元件都必須寫在onCreate裡面,這
些元件才會在這一個生命週期中永遠存在。
Button只是一個元件,若要判別這個元件是否被觸發了什麼事件,則需要一個監聽器Listener監聽這個物件。
接著要說兩種寫法
方法一 | 方法二 |
我們需要在onCreate() { } 內先取得元件並註冊(set上)監聽物件,如下 出現紅色的地方,我們可以直接使用alt+Enter 變成 在這之中輸入按下按鈕時想要執行的動作
|
先寫出一個監聽器 (實體化這個監聽器,因為View.OnClickListener為抽象類別) 一樣對紅色的地方alt+Enter 再來從onCreate()內set上監聽器 |