2012-03-22 12 views
32

Ciao sto affrontando il problema su ICS come dialog è dismissed quando facciamo clic fuori dalla finestra dialog, a causa della quale sto avendo problemi come se non avessi alcuna conferma da parte dell'utente .La finestra di dialogo di Android 4.0 viene cancellata quando viene toccata al di fuori della finestra di dialogo

Per favore aiuto.

+6

Per qualche motivo a partire da ICS th ey ha reso predefinito 'setCanceledOnTouchOutside()' a 'true'. Il cambiamento non sembra essere documentato da nessuna parte (nessuna sorpresa). Solo un chiarimento per chiunque stia leggendo. –

risposta

55

Controllare this method dal sito degli sviluppatori Android per la finestra di dialogo.

Provare a utilizzare il setCanceledOnTouchOutside (booleano annullare) metodo e il superamento di un valore booleano per abilitare/disabilitare il comportamento di dialogo quando toccò al di fuori della finestra di dialogo.

passare anche attraverso questi link:

Android click event outside a dialog

How to cancel an Dialog themed like Activity when touched outside the window?

Spero che questo risponde alla tua domanda.

+0

grazie ha funzionato e quei collegamenti erano anche utili .. – nishi

+0

Il valore predefinito dovrebbe essere falso, questo ha causato un sacco di problemi per i miei utenti. – Arad

12

È possibile utilizzare

dialog.setCancelable(true/false); 

O

dialog.setCanceledOnTouchOutside(true/false); 

Per gli ultimi vesrions di Android;

Disabilita l'evento outSideTouching.

+1

sì, ma questo disabiliterà la cancellazione della finestra di dialogo sulla pressione del tasto indietro. Molte volte non vuoi che la finestra di dialogo venga cancellata quando viene toccata all'esterno, ma vuoi gestire gli eventi della tastiera per il tasto .. – nishi

+0

Sì, sei giusto @nishi. Così ho modificato la mia risposta e aggiunto una nuova opzione setCancelOnTouchOutSide (T/F): P – Amt87

0
dialog.setCancelable(false) 

Dialog non può annullabile quando tocca fuori lato o stampa BACK chiave

dialog.setCanceledOnTouchOutside(false) 

Dialog non può annullato quando viene toccato fuori ma in grado al cancellata quando si preme BACK chiave

Problemi correlati