2016-10-26 5 views
1

アクティビティーAをアクティビティーBから起動します。しかし、私がAを打つと、Bは破壊されます。 その結果、Aは一時的に表示されてから破壊されます。 Bが破壊された後も、どのようにAを生かしておくのですか? これは私がB.親アクティビティーが破棄されたときにアクティビティーを保持する方法

私は「singleTask」としてマニフェストファイルにアクティビティAのためのlaunchmodeを記載している
 Intent intent = new Intent(); 
     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
     intent.setClass(B.this, A.class); 

     intent.putExtra(key, val); 
     startActivity(intent); 

からAを起動する方法です。

これを達成する方法を教えてください。

+0

FLAG_ACTIVITY_CLEAR_TOPを意図してフラグを設定した場合、開始アクティビティAのレコードがありません。 –

+0

@Divyeshので、上記のコードからIntent.FLAG_ACTIVITY_CLEAR_TOPを削除する必要があります。 –

+0

はい、あなたはフラグを削除します。 –

答えて

0

アクティビティBは、フラグIntent.FLAG_ACTIVITY_CLEAR_TOPによって破棄されますが、アクティビティAのライフサイクルには影響しません。つまり、アクティビティAが破壊されている場合、それ自身のライフサイクルメソッドで何らかのエラーが発生する可能性がありますが、アクティビティBにチェーンされていないことを意味します。

関連する問題