Olá
Bom, estou pesquisando ainda… Não me julgue xD
Estou com um código para criar um método que crie um AlertDialog e eu só preciso chamar depois o método. Ocorre que eu não consigo fazer o método retornar verdadeiro ou falso, ele sempre retorna falso.
Método que cria AlertDialog:
public boolean alertDialog(Context context, String titulo, String mensagem) {
final boolean[] resultado = new boolean[1];
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setCancelable(true);
builder.setTitle(titulo);
builder.setPositiveButton("Confirmar", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
resultado[0] = true;
}
});
builder.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
resultado[0] = false;
}
});
builder.setMessage(mensagem);
builder.show();
return resultado[0];
}
Aplicação:
if(alertDialog(getActivity(), "Titulo", "Mensagem questionando a vida")) {
// alguma ação bacana
} else {
// se chegou aqui, algo de errado não está certo
}
Porém, SEMPRE retorna false
Detalhe: Retorna false ANTES de eu informar o “Confirmar” ou “Cancelar”. Depois que eu seleciono um dos dois, ele já executou o else
, então a aplicação meio que não faz nada se eu confirmar ou cancelar, porque ela já fez o else