关闭Android中的AlertDialog.Builder

时间:2016-12-11 02:27:50

标签: java android alertdialog

在下面的代码中,我尝试关闭AlertDialog框,但无济于事。但是,如果我删除compareKeys()功能,则解雇将起作用。那么在调用compareKeys()函数后如何解除它?

public void promptAdministratorPassword() {
    AlertDialog.Builder alert = new AlertDialog.Builder(this);

    alert.setTitle("Alert!");
    alert.setMessage("Please enter your password: ");

    // Set an EditText view to get user input
    final EditText input = new EditText(this);
    alert.setView(input);

    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            password = input.getText().toString();

            if (password.equals("password")) {
                try {
                    compareKeys();
                } catch (IOException | NoSuchAlgorithmException | InvalidKeySpecException e) {
                    e.printStackTrace();
                }
            }
            dialog.dismiss();
        }
    });

    alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            // Canceled.
        }
    });
    alert.show();
}

1 个答案:

答案 0 :(得分:0)

dialog.dismiss()之前致电password = input.getText().toString(),并在dialog.dismiss() setNegativeButton内添加OnClickListener