◎ 如何在一個應用程序當中定義多個Activity
定義步驟如下:
1. 定義一個類,繼承Activity。
2. 在該類當中,複寫Activity當中的onCreate方法。(SourceàOverride/Implement Methods…àActivity/onCreate(Bundle))
3. 建立一個新的佈局文件。
4. 在AndroidManifest.xml文件當中註冊該Activity,而其最少需撰寫出「name」(該activity的名稱,即包名+類名)和「label」(activity顯示的名稱)此二個屬性。
※如activity標籤中有包含<intent-filter>及「android.intent.action.MAIN」的話,即該應用程式會預先運先此一activity。
◎ 啟動一個Activity的方法
定義步驟如下:
1. 產生一個意圖物件(Intent)。
2. 調用setClass方法設置所要啟動的Activity。
參數介紹:
(1) packageContext:該參數為Activity物件(MainActivity.this),也可說是一個Context物件。而Context是一個類,且Activity是Context類的子類,也就是說所有的Activity物件,都可以向上轉型為Context物件。
(2) cls:該參數是一個Class物件,在當前場景下,應該傳入需要被啟動的Activity類的Class物件(SecondActivity.class)。
3. 調用startActivity方法啟動Activity。
※要啟動的Activity需先在AndroidManifest.xml文件當中註冊,否則會產生錯誤,需注意!!
◎ Android當中的back stack(返回棧/歷史棧)
1. back stack用於存放/記錄每個具開啟的Activity(即多個Activity),當使用者按下「返回鍵」時,可立即將先前的Activity依順序調用出來,但每調用一個Activity,back stack就會將其刪除。
2. 其存放及取出的概念是採用「先進後出」的方式,因此最先呈現的Activity會最後被調用出。
3. 雖然back stack可存放多個Activity,但每次顯示時,只顯示最頂端的Activity。