Оповещение о закрытии диалога после нажатия кнопки «Позитив» - PullRequest
0 голосов
/ 14 декабря 2018

Я создаю настраиваемое диалоговое окно оповещения.Проблема в том, что я не вызываю dialogInterface.dismiss ();в методе setPositiveButton () мой диалог все еще закрывается после нажатия положительной кнопки.Итак, я не могу выполнить дальнейшую операцию с ним.

Почему это происходит и как я могу заставить "положительную" кнопку делать вещи.

public void changePassword() {
    LayoutInflater layoutInflater = getLayoutInflater();

    View alertChangePassLayout = layoutInflater.inflate(R.layout.change_password_alertdialog_layout, null);

    final EditText oldPasswordET = alertChangePassLayout.findViewById(R.id.old_password_ET_alert_dialog);
    final EditText newPasswordET = alertChangePassLayout.findViewById(R.id.new_password_ET_alert_dialog);
    final EditText confirmNewPasswordET = alertChangePassLayout.findViewById(R.id.confirm_new_password_ET_alert_dialog);
    Button changePasswordButton = alertChangePassLayout.findViewById(R.id.change_password_BB_alert_dialog);



    AlertDialog.Builder alertBuilder = new AlertDialog.Builder(dialog_activity.this);

    alertBuilder.setTitle("Change Password");

    // Set view of xml inside alert dialog
    alertBuilder.setView(alertChangePassLayout);


    // disable dismiss dialog when clicked outside the dialog
    alertBuilder.setCancelable(false);

    // Set positive button
     alertBuilder.setPositiveButton("Submit", new DialogInterface.OnClickListener() {
         @Override
         public void onClick(DialogInterface dialogInterface, int i) {

             Toast.makeText(dialog_activity.this, "Submit button..", Toast.LENGTH_LONG).show();
             // do work here

         }
     });

    // Set negative button
    alertBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
            Toast.makeText(dialog_activity.this, "Cancel button..", Toast.LENGTH_LONG).show();
            dialogInterface.dismiss();
        }
    });

    AlertDialog alertDialog = alertBuilder.create();
    alertDialog.show();

}

1 Ответ

0 голосов
/ 22 мая 2019

Просто «делайте вещи», где у вас есть комментарий: «Работайте здесь».

// Set positive button
 alertBuilder.setPositiveButton("Submit", new DialogInterface.OnClickListener() {
     @Override
     public void onClick(DialogInterface dialogInterface, int i) {

         Toast.makeText(dialog_activity.this, "Submit button..", Toast.LENGTH_LONG).show();
         // do work here

     }
 });

Запустите все, что вам нужно в этом блоке;после выполнения диалоговое окно закрывается.

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