Кнопка выхода Android с диалогом предупреждения

#android #android-alertdialog #exit

#Android #android-alertdialog #выход

Вопрос:

Я использую следующий код для выхода из своего приложения.

 Intent intent = new Intent(Intent.ACTION_MAIN);
                intent.addCategory(Intent.CATEGORY_HOME);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);
  

теперь, когда я нажимаю выход, он должен показывать диалоговое окно оповещения. если я нажал ok, закройте приложение, иначе нет.

Комментарии:

1. В чем ваша конкретная проблема?

2. затем напишите код в alertdialog … в чем проблема..

3. Я использовал опцию выхода в виде одного значка в строке меню. как я могу импортировать оповещение туда?

4. Создайте кнопку, настройте OnClickListener, по щелчку создайте диалоговое окно оповещения с двумя кнопками и в прослушивателе positive button (с текстом OK) скопируйте свой код.

Ответ №1:

удалить super.onBackPressed()

 @Override
public void onBackPressed() {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("Are you sure you want to exit?")
           .setCancelable(false)
           .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                    MyActivity.this.finish();
               }
           })
           .setNegativeButton("No", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
               }
           });
    AlertDialog alert = builder.create();
    alert.show();

}
  

Ответ №2:

Проверьте общий код alertdialog по этой ссылке .. и в положительной кнопке напишите «Нравится»:

  .setPositiveButton("Logout",new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog,int id) {
    //your_activity.finish();......(1)
            //otherwise use your code..
            Intent intent = new Intent(Intent.ACTION_MAIN);
            intent.addCategory(Intent.CATEGORY_HOME);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);

    }
});