AlertDialog: ¿cómo puedo ejecutar verificaciones cuando el usuario presiona 'OK'?

Para un AlertDialog personalizado, ¿puedo anular el botón positivo para NO cerrar el diálogo? en cambio, quiero ejecutar algunas comprobaciones de edición y mantener el cuadro de diálogo abierto si mis comprobaciones fallan.

protected Dialog onCreateDialog(int id) {
  Dialog alertDialog = null;
  builder = new AlertDialog.Builder(this);
  switch(id) {
    case LOGIN_USERID_BLANK:
      builder.setMessage((String)getString(R.string.username_not_blank));
      builder.setPositiveButton((String)getString(R.string.ok), new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int whichButton) {
      // Can I do something here so that the dialog does not close?
}
});

rotura;

Respuestas a la pregunta(4)

Su respuesta a la pregunta