建議多看官方文檔
谷歌官方:
Activity 簡(jiǎn)介
Activity 生命周期
保存和恢復(fù)瞬時(shí)界面狀態(tài)
使用 onSaveInstanceState() 保存簡(jiǎn)單輕量的界面狀態(tài)
使用保存的實(shí)例狀態(tài)恢復(fù) Activity 界面狀態(tài)
重建先前被銷毀的 Activity 后,您可以從系統(tǒng)傳遞給 Activity 的 Bundle
中恢復(fù)保存的實(shí)例狀態(tài)越驻。onCreate()
和 onRestoreInstanceState()
回調(diào)方法均會(huì)收到包含實(shí)例狀態(tài)信息的相同 Bundle
瓮栗。
因?yàn)闊o論系統(tǒng)是新建 Activity 實(shí)例還是重新創(chuàng)建之前的實(shí)例哈雏,都會(huì)調(diào)用 onCreate()
方法,所以在嘗試讀取之前乖阵,您必須檢查狀態(tài) Bundle 是否為 null成艘。如果為 null,系統(tǒng)將新建 Activity 實(shí)例哆档,而不會(huì)恢復(fù)之前銷毀的實(shí)例。
在 Activity 之間導(dǎo)航
顯示跳轉(zhuǎn)
無返回
Intent intent = new Intent(this, SignInActivity.class);
startActivity(intent);
無返回住闯,有參數(shù)
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_EMAIL, recipientArray);
startActivity(intent);
有返回
startActivityForResult()
startActivityForResult(
new Intent(context, Next.class),
CPDE_REQUEST);
//返回處理
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == CPDE_REQUEST) {
if (resultCode == RESULT_OK) {
// 返回處理
}
}
}