Диалог OK / Отмена для кнопки «Назад» - PullRequest
1 голос
/ 01 декабря 2011

Я пытаюсь создать диалоговую кнопку, которая появляется, когда я нахожусь на основной деятельности, и спрашивает пользователя, уверены ли они, что хотят закрыть программу. Я не уверен, что добавить в действие // Действие для кнопки Да ... Есть ли лучший способ сделать это?

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {



    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {  
           AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
            alt_bld.setMessage("Are you sure you want to exit?")
            .setCancelable(false)
            .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                // Action for 'Yes' Button



                }
            })
            .setNegativeButton("No", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                //  Action for 'NO' Button

                    dialog.cancel();
                }
            });
            AlertDialog alert = alt_bld.create();
            // Title for AlertDialog
            alert.setTitle("Exit Game?");
            // Icon for AlertDialog
            alert.setIcon(R.drawable.icon);
            alert.show();


    return true;
    }

    return super.onKeyDown(keyCode, event);
}

Ответы [ 2 ]

3 голосов
/ 01 декабря 2011

Вы можете закончить Ваш Activity например.вызов метода finish().

Помимо этого рассмотрите возможность использования DialogFragments (если вы используете библиотеку совместимости) или метод showDialog() в Activity - это предотвратит утечку окон.

1 голос
/ 01 декабря 2011

Вы можете использовать простое выражение finish () в вашем действии кнопки Да, чтобы выйти из действия

и вы также можете переопределить метод onBackPressed для этого

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...