2013-08-08 11 views

risposta

34

È possibile chiamare dismiss nella finestra di dialogo.

+0

grazie :) questo ha funzionato! dispiace per la mia stupida Q :) ringrazia tutti :) –

+0

ho usato .setPositiveButton ("ok", nuova DialogInterface.OnClickListener() { onClick (dialogo DialogInterface public void, int che) {dismissDialog (DIALOG_Success); }} ) ma quando mostro di nuovo diaolog, la finestra di dialogo mostra il vecchio messaggio. Ho scritto Activity.this.showDialog (DIALOG_Success, arg); Mi potete aiutare? – Fatemeh

8

Questo è un esempio di come creare un AlertDialog con 2 pulsanti (OK e annulla). Quando si clicca il pulsante di annullamento,

dialog.dismiss()

è chiamato a chiudere la finestra.

Da ovunque al di fuori, si potrebbe chiamare

builder.dismiss();

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
      builder.setMessage("Some message.") 
        .setPositiveButton("OK", new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          // do something 
         } 
        }) 
        .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          dialog.dismiss(); 
         } 
        }); 

      builder.show(); 
+1

non esiste un metodo come builder.dismiss(); –

7
dialog.dismiss(); 

Solo questa linea lo chiuderà. :-)

Implementalo in onClickListener.

+1

è necessario solo il metodo dismiss() dall'interno della classe di dialogo! grazie Helmisek :) –

+0

Certo, basta chiamare il metodo 'dismiss()' di DialogFragment –

1

Se avete la vostra finestra di dialogo come attività a sé stante, il modo più semplice per chiuderla è chiamare:

finish(); 

chiamare questo metodo all'interno del metodo, onClick() della classe OnClickListener.

Ciò richiamerà i metodi onPause(), onStop() e onDestroy() di conseguenza e interromperà l'attività corrente, come nel pulsante "Indietro".

Problemi correlati