1. ホーム
  2. android

[解決済み] アンドロイドでアクティビティを閉じて、前のアクティビティに戻る方法

2022-04-25 06:57:31

質問

メインアクティビティがあり、ボタンをクリックすると、新しいアクティビティが始まります。

Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);

上記のコードは、メインのアクティビティから実行されました。

さて、メインアクティビティから呼び出される新しいアクティビティには、戻るボタンがあります。 この戻るボタンをクリックすると、私の新しいアクティビティが閉じ、元のメインアクティビティに戻るようにしたいのです。

を呼び出してみました。 super.finish() で、ただ finish() (新しいアクティビティから)しかし、これは私のアプリケーション全体(私のメインのアクティビティを含む)を閉じます。

現在フォーカスされているアクティビティを終了して、メインのアクティビティに戻るにはどうすればよいですか?

編集

私の携帯電話の戻るボタンも私のアプリ全体を閉じているという事実は、私が間違って2番目の活動を開始したことを考えるに至ります?


OK 見てきました。

私は、同じマニフェスト コードとアクティビティを開始する同じコードを使用する設定アクティビティを作成しました。

settings Activityの場合、戻るボタンを押すとMainアクティビティに戻ります。

本題の上記のアクティビティでは、単に私のアプリ全体を終了してしまいます。

つまり、問題はアクティビティを終了させるためのコードではなく、アクティビティ自体にあるようです。

解決方法は?

を呼び出しているのではないでしょうか。 finish() メソッドを MainActivity を起動する前に SettingsActivity .

あなたが説明したシナリオは、次の2つの方法で発生します。

どちらか一方

を設定しました。 android:noHistory = "true" に対して MainActivity 内部 AndroidManifest.xml を引き起こす MainActivity から finish バックキーを押すと自動的に

または

SettingsActivity "に切り替える前に、あなたは finish() の中で MainActivity を実行し、それを終了させます。バックボタンを押すと、他のアクティビティがポップするようにスタックにプリセットされていないため、メイン画面に戻ってしまいます。