Obter retorno de AlertDialog.Builder

Gostaria de fazer uma pergunta para o usuario e em cima da resposta tomar uma ação, mas como posso obter um retorno usando o AlertDialog.Builder se os unicos jeitos de obter sua ações é dentro do DialogInterface.OnClickListener.onClick() que, mesmo que não seja implementado dentro da classe interna anônima (que ficaria bem mais dificil manter o contexto), tem void como retorno. A unica coisa que eu consigo lá e saber qual botao foi apertado…
Seria muito bom se tivesse algo na variavel do AlertDialog.Builder que me disesse qual botão foi apertado.
Alguma sugestão/solução?
Obrigado.

pode passar uma interface para a classe que possui a implementação do DialogAlert

[code]public interface IDialogListener{

public void onAfirmative();
public void onNegative();

}

IDialogListener mIDialogListener = new IDialogListener(){

@Override
public void onAfirmative(){

}

@Override
public void onNegative(){

}

}

protected void showAlertDialog(){

//implementation

alertDialogBuilder.setPositiveButton(“OK”, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
mIDialogListener.onAfirmative();
});

alertDialogBuilder.setNegativeButton(“OK”, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
mIDialogListener.onNegative();
});

//implementation
}
[/code]

Que lindo. Obrigado.