[RESOLVIDO] Dialog Modal no Android

7 respostas
R

É 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 …

Como posso fazer ??

7 Respostas

lina

Oi,

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

Tchauzin!

E

Use o método abaixo, na onClick vc implementa a chamada para a nova activity :slight_smile:

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;
	}
Marky.Vasconcelos

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.

A solução da Lina também resolve.

R

Como estou programando para o Android 2.1, utilizarei a dica da lina.

Vlw …

R

lina:
Oi,

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

Tchauzin!

Boa tarde Lina, vc teria algum exemplo?

jonathan_Coelho

Eu faço assim

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();
R
jonathan Coelho:
Eu faço assim
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();

Muito obrigado Jonathan

Criado 12 de abril de 2012
Ultima resposta 4 de jun. de 2012
Respostas 7
Participantes 6