close

如何在一個應用程序當中定義多個Activity

定義步驟如下:

1. 定義一個類,繼承Activity

2. 在該類當中,複寫Activity當中的onCreate方法(SourceàOverride/Implement Methods…àActivity/onCreate(Bundle))

3. 建立一個新的佈局文件。

4. AndroidManifest.xml文件當中註冊該Activity,而其最少需撰寫出name(activity的名稱,即包名+類名)label(activity顯示的名稱)此二個屬性。

01_SecondActivity-1.jpg

01_建立複寫的操作流程.jpg

01_SecondActivity-2.jpg

01_second_layout.jpg

01_AndroidManifest.jpg  

※如activity標籤中有包含<intent-filter>android.intent.action.MAIN的話,即該應用程式會預先運先此一activity

 

啟動一個Activity的方法

定義步驟如下:

1. 產生一個意圖物件(Intent)

2. 調用setClass方法設置所要啟動的Activity

參數介紹:

(1) packageContext:該參數為Activity物件(MainActivity.this),也可說是一個Context物件。而Context是一個類,且ActivityContext類的子類,也就是說所有的Activity物件,都可以向上轉型為Context物件。

(2) cls:該參數是一個Class物件,在當前場景下,應該傳入需要被啟動的Activity類的Class物件(SecondActivity.class)

3. 調用startActivity方法啟動Activity

01_activity_main.jpg

01_MainActivity.jpg

01_Firstproject結果-01.jpg

01_Firstproject結果-02.jpg   

※要啟動的Activity需先在AndroidManifest.xml文件當中註冊,否則會產生錯誤,需注意!!

 

Android當中的back stack(返回棧/歷史棧)

1. back stack用於存放/記錄每個具開啟的Activity(即多個Activity),當使用者按下「返回鍵」時,可立即將先前的Activity依順序調用出來,但每調用一個Activityback stack就會將其刪除。

2. 其存放及取出的概念是採用「先進後出」的方式,因此最先呈現的Activity會最後被調用出。

3. 雖然back stack可存放多個Activity,但每次顯示時,只顯示最頂端的Activity

 01_back stack-01.jpg

01_back stack-02.jpg

01_back stack-03.jpg  

 

 

 

arrow
arrow

    Elsa 發表在 痞客邦 留言(0) 人氣()