2012-03-18 12 views
1

こんにちは、私はTasks and Back Stack上で、これらの材料を読んだ後、ちょっと混乱しています、Androidデベロッパーガイド:タスク、BACKボタン、およびonSaveInstanceSate方法

それは言う:

活動AアクティビティB、活動を開始するとAは停止しますが、システムは状態(スクロール位置やフォームに入力されたテキストなど)を保持します。アクティビティーBでユーザーが「戻る」ボタンを押すと、アクティビティーAの状態が復元された状態で再開されます。

the APIs reference for onSaveInstanceState() methodに、それは言うものの:存在:onPause()とonStop()が呼び出され、ユーザがアクティビティAに戻す活動Bから移動しないときは、この方法がされたときの

一例をBのonSaveInstanceState(Bundle)を呼び出す必要はありません。その特定のインスタンスは復元されないため、システムはそれを呼び出すことを避けます。

上記の2つの状況は同じです(「ボタンAをアクティビティAに押し、アクティビティBからアクティビティAに戻る」)。しかし、前者が前の状態が復元された状態で活動Aが再開し、後者が活動Bの特定のインスタンスが復元されないと言われている間、なぜ私は理解できないのですか?説明は?

ありがとうございます!

答えて

1

最初にAが復元されるように保存され、2番目に復元できないためBが保存されないということです。

+0

あなたは正しいです、2番目はB(Aではない)が復元されない(私はそれを読んでいない)と言っています! BからAへの「戻る」ボタンを押すとBが破棄され、Aが復元されるので、BのonSaveInstanceState()を呼び出す必要はありません。 – Bao

+1

正しいことですが、実際には、何が起こるのかわからないので、あなたのアクティビティでonSaveInstanceStateを呼び出す準備ができていることをお勧めします。通知はユーザーの目を引っ張って何かをした後、Bそのような活動からBを復元しなければならない。 – dldnh

+0

"ユーザーが[戻る]ボタンを押すと、現在のアクティビティが破棄され、以前のアクティビティが再開されます。 – Bao

関連する問題