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.