2016-04-26 5 views
0

2つのアクティビティA、B。 A開始データが定義されているとき。 AからBへのアクティビティは と呼ばれ、アクティビティは最終的に破棄されます。 Aアクティビティの破棄をどのように停止できますか? また、Bから戻ったときに同じoncreateデータを取得します。古いアクティビティデータを保存します。

+6

これは、アンドロイドの哲学に対してかなりです。あなたはなぜ活動を破壊しないようにしたいのですか?おそらく、フラグメントがアクティビティ内で異なるフレームを作成すると考えることができます。データの永続化のためのアクティビティを破棄したくない場合は、アンドロイドが提供するデータストレージメソッドを調べ、onResumeでそれらを取得してください。 – Bram

答えて

0

AからBへのナビゲーションにIntentを使用している場合は、finish()メソッドを呼び出さないでください。ちょうどあなたのB活動を開始してください。

EX用

Intent intent = new Intent (A.this,B.class); 
startActivity(intent); 
//Here dont use finish() method as it destroys current Activity. 

は、あなたがしてActivityAはデフォルトでは破壊されていないActivityBするActivityAに行けば、それは:)

+0

@OnkarNeneが正しい場合は、 'onSaveInstanceState'したがって、システムがあなたの活動を破壊することにした場合、 'onCreate'でそれらを取り出すことができます。 –

0

を助けることを願っています。あなたがfinish()メソッドを与えるとActivityAだけが破棄されます。それ以外のActivityAは停止しますが、バックグラウンドステートになります。したがって、あるアクティビティから別のアクティビティに転送するときはfinish()メソッドを追加しないでください。あなたがあなたの状況

Intent intent = new Intent(ActivityA.this,ActivityB.class); 
startActivity(intent); 

そして、あなたはActivityAにバックアップすることができたとき、それはActivityAのonStop()メソッドを呼び出しますために何ができるか

。 したがって、日付をonStop()メソッドで再度定義することができます。

関連する問題