2016-12-11 12 views
0

次のコードでは、AlertDialogのボックスを閉じようとしましたが、役に立たなくなりました。ただし、compareKeys()機能を削除すると、終了します。だから、compareKeys()関数を呼び出すと、それを却下することはできますか?AndroidでAlertDialog.Builderを閉じる

password = input.getText().toString()
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(); 
} 

答えて

0

コールdialog.dismiss()とあまりにsetNegativeButtonOnClickListener内部dialog.dismiss()を追加します。

+0

ありがとう、本当にあなたの助けに感謝! – hahas92

+0

却下ボタンはパスワードと一致しない場合に機能しますが、パスワードと一致すると却下するにはどうしたらいいですか?現時点では、間違ったパスワードを入力すると却下されます。しかし、私は正しいパスワードを入力すると却下されません。 – hahas92

関連する問題