サブクラスがMapActivity
あり、スタックを保持したいのですがMapActivity
、同じプロセスで a の複数のインスタンスを保持できません。だから私はこれを達成するために2つのスキームを考え出しました:
MapActivity
の状態をそれが起動するインテントとともに渡し、MapActivity
アクティビティを再作成するインテントを送信することで、切り替えられたアクティビティが を再構築できるようにします。さらに、MapActivity
インテントが一度にこのアクティビティのインスタンスを 1 つだけ作成するように設定されます。このアクティビティには複数の出口パスがあるため、このアプローチには欠陥があり、これをサポートするにはそれらすべてを変更する必要があります。MapActivity
を、そのメソッドまたは何かでアクティビティを再現するモック アクティビティに置き換えると、onResume()
切り替え先のアクティビティは、この問題にまったく気付かないままになります。このアプローチの問題は、このモック アクティビティを作成する方法と、切り替え先のアクティビティを開始するインテントを起動する方法がわからないことです。
だから私の質問は、これを行うためのより良い方法があるということです。そうでない場合、可能であればオプション2をどのように実行しますか?
編集: オプション 2 を実行する 1 つの可能な方法は、モック アクティビティを、その中のターゲット アクティビティを開始するウェイポイントにすることですonCreate()
。onCreate()
ただし、アクティビティが再構築されているために が再度呼び出された場合、そのアクティビティがターゲット アクティビティを再度開始しないように注意する必要があります。これは、 であることを確認することで実行できsavedInstanceState
ますnull
。