1. ホーム
  2. android

[解決済み] Androidです。ToastでonBackPressed()を使う正しい方法

2023-04-07 01:52:10

質問

ユーザーに、終了したい場合はもう一度戻るを押すように求めるプロンプトを表示するコードを書きました。私は現在、私のコードがある程度動作していますが、私はそれが不完全に書かれていることを知っていて、私はそれを行うためのより良い方法があると仮定します。何か提案があれば助かります。

コードです。

public void onBackPressed(){
    backpress = (backpress + 1);
    Toast.makeText(getApplicationContext(), " Press Back again to Exit ", Toast.LENGTH_SHORT).show();

    if (backpress>1) {
        this.finish();
    }
}

どのように解決するのですか?

ユーザーに終了するかどうかを尋ねるダイアログを実装して、そのダイアログから super.onBackPressed() を呼び出します。

@Override
public void onBackPressed() {
    new AlertDialog.Builder(this)
        .setTitle("Really Exit?")
        .setMessage("Are you sure you want to exit?")
        .setNegativeButton(android.R.string.no, null)
        .setPositiveButton(android.R.string.yes, new OnClickListener() {

            public void onClick(DialogInterface arg0, int arg1) {
                WelcomeActivity.super.onBackPressed();
            }
        }).create().show();
}

上記の例では、WelcomeActivityをアクティビティの名前に置き換える必要があります。