Как всплывающее окно оповещения в приложении Android для выхода, когда я уже использую onBackPressed () для веб-просмотров, чтобы вернуться? - PullRequest
0 голосов
/ 30 мая 2018

Я хочу, чтобы мое приложение показывало окно предупреждения при выходе из приложения, но если я пытаюсь добавить код для alertbox в приложение onBackPressed (), оно принудительно закрывается.

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

            super.onBackPressed();
        }

это код для веб-просмотров, которые нужно сделатьэти представления, чтобы вернуться. Где я должен добавить окно оповещения для выхода из приложения ??

1 Ответ

0 голосов
/ 30 мая 2018

Вместо немедленного вызова 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();
    }
}
...