Android ApiDemo示例解讀7:Activity->Forwarding
Android應(yīng)用可以包含,多個(gè)Activity, 某個(gè)Activity可以啟動(dòng)另外的Activity。這些Activity采用棧結(jié)構(gòu)來管理,新打開的Activity疊放在當(dāng)前的Activity之 上,當(dāng)前的Activity停止運(yùn)行。當(dāng)一個(gè)Activity停止運(yùn)行時(shí),Android系統(tǒng)保留其停止前的狀態(tài),當(dāng)用戶按下“Back”按鍵時(shí),棧最上 的Activity從棧頂退棧,之前的Activity移到棧頂,顯示在屏幕上:
有些時(shí)候,當(dāng)一個(gè)Activity啟動(dòng)新的Activity后,不希望把當(dāng)前Activity保留在Activity棧中,比如在使用Activity實(shí)現(xiàn)一個(gè)Confirm Dialog時(shí),當(dāng)用戶確認(rèn)后啟動(dòng)新的Activity,在新Activity顯示時(shí)按“Back”后退時(shí)不希望在顯示Confirm Dialog。
示例Fowarding 使用Finish()在啟動(dòng)新Activity同時(shí)結(jié)束當(dāng)前Activity。
- Intent intent = new Intent();
- intent.setClass(Forwarding.this, ForwardTarget.class);
- startActivity(intent);
- finish();
Finish結(jié)束Forwarding Activity,之后按“Back”,則直接退到ApiDemo->Activity 示例列表,而不是Forwarding。