ホームページ > Java > &#&チュートリアル > Android アクティビティで 2 回の戻ると終了の動作を実装するにはどうすればよいですか?

Android アクティビティで 2 回の戻ると終了の動作を実装するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-02 21:24:30
オリジナル
578 人が閲覧しました

How to Implement Double-Back-to-Exit Behavior in Android Activities?

Android アクティビティでの戻るボタン終了確認

Android アプリケーションでは、通常、ユーザーがアクティビティを終了するために戻るボタンを 2 回押す必要があります。活動。この動作は、「double-back-to-exit」として知られています。これは組み込み機能のように見えるかもしれませんが、特定のクラスやメソッドから直接アクセスすることはできません。

カスタム実装

この機能を実装するには、次のことができます。アクティビティの onBackPressed() メソッド内に独自のロジックを作成します。 Java での例を次に示します。

<code class="java">boolean doubleBackToExitPressedOnce = false;

@Override
public void onBackPressed() {
    if (doubleBackToExitPressedOnce) {
        super.onBackPressed();
        return;
    }

    this.doubleBackToExitPressedOnce = true;
    Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show();

    new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {

        @Override
        public void run() {
            doubleBackToExitPressedOnce=false;                       
        }
    }, 2000);
} </code>
ログイン後にコピー

Kotlin では、次のコードで同じ結果を達成できます。

<code class="kotlin">private var doubleBackToExitPressedOnce = false
override fun onBackPressed() {
        if (doubleBackToExitPressedOnce) {
            super.onBackPressed()
            return
        }

        this.doubleBackToExitPressedOnce = true
        Toast.makeText(this, &quot;Please click BACK again to exit&quot;, Toast.LENGTH_SHORT).show()

        Handler(Looper.getMainLooper()).postDelayed(Runnable { doubleBackToExitPressedOnce = false }, 2000)
    }</code>
ログイン後にコピー

これらの実装では、ブール型フラグ (doubleBackToExitPressedOnce) があります。ユーザーがすでに「戻る」ボタンをクリックしたかどうかを追跡します。フラグが true の場合、アクティビティは終了します。それ以外の場合は、フラグを true に設定してトースト メッセージを表示し、ユーザーに終了アクションをキャンセルする機会を与えます。

無限の戻るボタンのクリックを避けるために、ハンドラーを使用して、短い時間が経過した後に doubleBackToExitPressedOnce フラグをリセットします。遅延 (例: 2 秒)。

以上がAndroid アクティビティで 2 回の戻ると終了の動作を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート