[RESOLVIDO] Dialog Modal no Android

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

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!

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;
	}

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.

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

Vlw …

[quote=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!
[/quote]

Boa tarde Lina, vc teria algum exemplo?

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();

[quote=jonathan Coelho]Eu faço assim

[code]

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();

[/code][/quote]

Muito obrigado Jonathan