2016-08-19 7 views
0

あなたが残しているアクティビティを終了することなく1つのアクティビティを元に戻すことはできますか? 私のアンドロイドアプリでは、引き出しアイテムをクリックすると新しいアクティビティが開きます。ただし、戻るボタンを使用して引き出しアクティビティに戻そうとすると、新しく開いたアクティビティは破棄されます。そのアクティビティをバックグラウンドで実行するように戻すことは可能ですか?戻るボタンを使用して子アクティビティを終了せずに親アクティビティに移動

+0

たとえば、インテントフラグを設定するなどして、スタック管理の手段があります。 'FLAG_ACTIVITY_REORDER_TO_FRONT'がここで助けてくれるかもしれません。 – zgc7009

+0

SecondActivityを起動するMainActivityインテントにそのフラグを渡しますか?または、onBackPressed()をオーバーライドし、SecondActivityからMainActivityを起動しますか? – Kamihan

+0

2番目のメソッドは、onBackPressedをオーバーライドし、新しいインテントをトリガーします。 – zgc7009

答えて

0

フラグをスタックをクリアするように設定して、ドロワのアクティビティから次のアクティビティに移動し、今スタックにはドロワのアクティビティをバックグラウンドで実行する必要があるアクティビティが1つしかありません。

すなわち

A =>引き出しの活動

B =>

ステップ-1

開くバックグラウンドで実行する必要がある活動は、今スタックは唯一持っています


Aから

STEP-2

移動 - >

- フラグを

をクリアすることによって> Bは、現在のスタックは、B


STEP-3 Bから

動きを有します

スタックにはBとAのみがあります。Aはスタックの最上部にあり、Bはスタックされています。

+0

それは動作しませんでした。アクティビティBでは、boolean isRunningがあります。これはonResumeでtrueに設定され、onPauseにはfalseに設定されています。私はLog.d()も持っています。それが実行されているときとそうでないときに私に知らせるように設定してください。 2番目のアクティビティがオンの場合、アクティビティが実行中であると表示されますが、戻るボタンをクリックすると何も記録されません。私はホームボタンを押すと、ロギングが正常に動作します。 :/ – Kamihan

関連する問題