Sulla modifica dell'orientamento, viene ricreata l'attività e viene ricreata anche la finestra di dialogo Data/ora. Desidero salvare lo stato della finestra di dialogo Data e ora che è stata modificata dall'utente.Come mantenere lo stato della finestra di Data e ora sul cambio di orientamento?
Prima di disattivare la finestra di dialogo, desidero mantenere lo stato della finestra di dialogo Data/Ora.
Nota, posso chiudere la finestra di dialogo in onSaveInstanceState, dove è disponibile il pacchetto. Ma viene anche chiamato quando l'attività va in pausa, e in quel caso non voglio chiudere la finestra di dialogo. Quindi, ha deciso di eliminarlo sul metodo onDestroy, ma non ho l'oggetto bundle lì. Ecco perché sto affrontando questo problema. C'è un modo per accedere al bundle in onDestroy? O qualsiasi altro suggerimento per il mio problema sarebbe apprezzato.
@Override
protected void onDestroy() {
if(dateTimeDialog !=null && dateTimeDialog.isShowing())
{
//<HERE I WANT THE STATE TO BE SAVED IN THE BUNDLE>
dateTimeDialog.dismiss();
}
super.onDestroy();
}
Fondamentalmente abbiamo bloccare l'applicazione se l'utente si allontana dalla nostra applicazione, e sbloccare lo schermo e la finestra di dialogo che sta visualizzando sono ripresi. E se abbiamo chiuso la finestra di dialogo suSavedInstanceState, dopo aver sbloccato l'applicazione invoca onRestart, avvia e riprende i metodi, dove nessuno di questi ha l'istanza di Bundle fornita come parametro.
Inoltre, abbiamo layout separati per landscape & portrait a causa del quale non possiamo impostare configChanges = "orientation" nel file manifest.
La classe 'DatePickerDialog' ha metodi' onSaveInstanceState() 'e' onRestoreInstanceState() '. –