回答編集履歴
1
ドキュメントのリンクを追加
answer
CHANGED
@@ -2,4 +2,6 @@
|
|
2
2
|
|
3
3
|
この挙動の原因は、問題集AのActivityからstartActivityForResultで問題集BのActivityを起動していることです。問題集AのActivityが結果を受け取る必要は無いわけですから、startActivityで起動するように修正してみてください。
|
4
4
|
|
5
|
-
なお修正後には、onCreateは呼ばれず代わりにonNewIntentで新しいIntentを処理する必要があります。本来はFLAG_ACTIVITY_SINGLE_TOPを指定して同じクラスのActivityを起動する場合、こちらの挙動が正しいものです。startActivityForResultで起動していたために、前のActivityが別のインスタンスとして残ってしまっていたのだと思います。
|
5
|
+
なお修正後には、onCreateは呼ばれず代わりにonNewIntentで新しいIntentを処理する必要があります。本来はFLAG_ACTIVITY_SINGLE_TOPを指定して同じクラスのActivityを起動する場合、こちらの挙動が正しいものです。startActivityForResultで起動していたために、前のActivityが別のインスタンスとして残ってしまっていたのだと思います。
|
6
|
+
|
7
|
+
参考: [https://developer.android.com/guide/components/tasks-and-back-stack?hl=ja#IntentFlagsForTasks](https://developer.android.com/guide/components/tasks-and-back-stack?hl=ja#IntentFlagsForTasks)
|