我希望我的应用在退出应用时显示警告框,但是如果我尝试在onBackPressed()应用中添加警报框代码,则会强制关闭。

@Override
    public void onBackPressed() {
        if (Fragment1.canGoBack()) {
            Fragment1.goBack();
        }
        if (Fragment2.canGoBack()) {
            Fragment2.goBack();
        } else {

            super.onBackPressed();
        }


这是webview使这些视图返回的代码。我应在哪里添加退出应用程序的警报框?

最佳答案

无需立即调用super.onBackPressed(),而是先显示警报对话框,然后当用户按下按钮时,调用super.onBackPressed()

@Override
public void onBackPressed() {
    boolean wentBack = false;

    if (Fragment1.canGoBack()) {
        wentBack = true;
        Fragment1.goBack();
    }
    if (Fragment2.canGoBack()) {
        wentBack = true;
        Fragment2.goBack();
    }

    if (!wentBack) {
        new AlertDialog.Builder(this)
            .setTitle("Quit app?")
            .setMessage("Do you want to quit?")
            .setPositiveButton("Yes", (dialog, which) -> super.onBackPressed())
            .setNegativeButton("No", (dialog, which) -> {})
            .show();
    }
}

关于java - 当我已经在使用onBackPressed()使Webview返回时,如何在Android应用程序中弹出退出警告框?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50612908/

10-11 00:10