[解決済み] アンドロイド バックスタックをクリアする
2022-02-03 10:01:35
質問
Androidで、A,B,Cと言ったアクティビティがあります。
Aで、このコードを使ってBを開く。
Intent intent = new Intent(this, B.class);
startActivity(intent);
Bでは、このコードを使ってCを開いています。
Intent intent = new Intent(this, C.class);
startActivity(intent);
ユーザーがCのボタンをタップしたとき、Aに戻り、バックスタックをクリアしたい(BとCの両方を閉じる)。そこで、ユーザーが戻るボタンを使用すると、BとCが表示されなくなるので、次のことを試しています。
Intent intent = new Intent(this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
しかし、アクティビティAに戻ったときに戻るボタンを使うと、BとCが表示されたままになっています。
解決方法は?
を追加してみてください。
FLAG_ACTIVITY_NEW_TASK
のドキュメントで説明されているように
FLAG_ACTIVITY_CLEAR_TOP
:
この起動モードは、次のように使うこともできます。 との併用が効果的です。 FLAG_ACTIVITY_NEW_TASK: を使用する場合。 タスクのルート・アクティビティを開始すると、そのタスクの 現在実行中のすべての そのタスクのインスタンスを をフォアグラウンドにした後、そのフォアグラウンドをクリアする。 ルート状態です。これは特に便利です。 を起動するときなど アクティビティを通知 マネージャーを使用します。
というわけで、起動するためのコード
A
となります。
Intent intent = new Intent(this, A.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
CurrentActivity.this.finish(); // if the activity running has it's own context
// view.getContext().finish() for fragments etc.
関連
-
[解決済み】アクティビティにない場所でのgetLayoutInflater()の呼び出し
-
[解決済み】IllegalStateException: ViewPager で onSaveInstanceState の後にこのアクションを実行できません。
-
[解決済み] android.support.design.widget.FloatingActionButton クラスの展開に失敗しました。
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] Androidアプリケーションのアクティビティ間でデータを受け渡すにはどうすればよいですか?
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み] AndroidでstartActivityForResultを管理する方法
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】OnFragmentInteractionListenerを実装する方法
-
[解決済み】Android Intent コンストラクタを解決できない
-
[解決済み】コンテンツには、id属性が「android.R.id.list」であるListViewが必要です。
-
[解決済み] カスタムアダプタからnotifyDataSetChangeが機能しない
-
[解決済み] エラー - Android リソースのリンクに失敗しました (AAPT2 27.0.3 Daemon #0)
-
[解決済み] TypeError: cb.apply は関数ではありません。
-
[解決済み] com.android.supportのライブラリは全て全く同じバージョン表記である必要があります。
-
[解決済み】ログアウト時にアクティビティ履歴をクリアすると、「戻る」ボタンでログイン中のみのアクティビティを開けなくなる。
-
[解決済み] Androidです。バックスタックから以前のアクティビティをすべて削除する
-
[解決済み] アンドロイド アクティビティスタックを消去する