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.
Obter retorno de AlertDialog.Builder
2 Respostas
pode passar uma interface para a classe que possui a implementação do DialogAlert
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
}
Que lindo. Obrigado.
Criado 8 de junho de 2013
Ultima resposta 10 de jun. de 2013
Respostas 2
Participantes 2
Alura O que é Firebase? Para que serve, principais característica e um Guia dessa ferramenta Google O poder do Firebase! Saiba como a plataforma pode impulsionar suas aplicações web e mobile, descobrindo tudo neste artigo completo.
Casa do Codigo Xamarin Forms e MVVM: Desenvolvimento de aplicacoes... Por Everton Coimbra de Araujo — Casa do Codigo