É possível criar para o Android uma Dialog que seja modal ??
Seguinte, quando eu clico em um botão, preciso emitir uma mensagem de alerta para o usuário e apenas depois do usuário confirmar a mensagem eu quero iniciar uma nova Activity.
Está mais ou menos assim:
// Mostra a mensagem
meu_alert_dialog.show();
//Inicia a nova activity
startActivity(nova_tela);
Só que dessa forma ao clicar no botão a mensagem mal aparece e já vem a outra Activity por cima … E não quero isso …
Você precisará usar a chamada de startActivityForResult e implementar o método onActivityResult.
Quando a segunda Activity terminar a execução, a função onActivityResult é invocada com o resultado da segunda activity (resultado este passado por parâmetro).
O único problema é que você deverá usar uma Activity e não um Dialog Modal.
Se existir uma forma de usar uma Dialog Modal, também gostaria de saber…
Detalhe: Você está sentado do meu lado na empresa e vem perguntar aqui no GUJ. rsrs
Use o método abaixo, na onClick vc implementa a chamada para a nova activity
public AlertDialog.Builder getAlertDialog() {
if (alertDialog == null) {
alertDialog = new AlertDialog.Builder(this);
alertDialog.setCancelable(true);
alertDialog.setNeutralButton("OK", new DialogInterface.OnClickListener() {
// click listener on the alert box
public void onClick(DialogInterface arg0, int arg1) {
// the button was clicked
//alertDialog.
}
});
}
return alertDialog;
}
A partir do Android 3.0 voce pode usar um DialogFragment, que é um Fragment que é exibido como dialog, é modal e se mantem entre mudanças de orientações.
Você precisará usar a chamada de startActivityForResult e implementar o método onActivityResult.
Quando a segunda Activity terminar a execução, a função onActivityResult é invocada com o resultado da segunda activity (resultado este passado por parâmetro).
O único problema é que você deverá usar uma Activity e não um Dialog Modal.
Se existir uma forma de usar uma Dialog Modal, também gostaria de saber…
Detalhe: Você está sentado do meu lado na empresa e vem perguntar aqui no GUJ. rsrs
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
//faz qualquer coisa
}
}
});
alert.setNegativeButton("Cancelar",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
// Faz qualquer coisa
}
});
alert.show();
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setPositiveButton(“Ok”,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
//faz qualquer coisa
}
}
});
alert.setNegativeButton("Cancelar",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
// Faz qualquer coisa
}
});
alert.show();