アクティビティを開くためにインテントを使用しますが、そのアクティビティのインスタンスがすでにアクティビティスタックの最上部にある場合、現在のインスタンスを新しいインスタンス?これにはフラグがありますか?バックスタックの上にある既存のアクティビティを新しいインスタンスに置き換えます
0
A
答えて
0
はい。この旗を試してみると、これはあなたの言うことを正確にはしないが、間違いなく近いと思う。
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
0
LaunchModesをFLAG_ACTIVITY_SINGLE_TOP
にすると、1つのインスタンスしか作成されません。したがって、アクティビティの新しいインスタンスを作成すると、新しいインスタンスと古いインスタンスの差を置き換えるだけで、前のインスタンスが開きます。
+0
私は上部にあるものを交換したい、それを再使用しない。 –
これは、前のアクティビティをスタックの前面に持っていますが、その前のアクティビティをそのクラスの新しいインスタンスに置きたいだけです。だからスタックがA、B、CならばCをクラスCの新しいインスタンスに置き換えたい。 –
Intent.FLAG_REPLACEは素晴らしいだろう –
古いアクティビティを削除するのは簡単な作業ではない、私は編集したが、それでもちょうどしません –