Mam działanie i muszę wyświetlić okno dialogowe. Wszystko działa dobrze tutaj. Mam overrided onCreateDialog metody aktywności, oto kod:Po ponownym utworzeniu aktywności w Androidzie pojawia się okno dialogowe.
Gdzie CreateWaitDialog jest metoda zwyczaj tworzenia okna i waitDialog jest statyczny zmienna.
Jestem pokazując okno poprzez wywołanie ShowDialog (10)
Cały kod jest wykonywany w porządku.
Po wyświetleniu okna dialogowego zamykam je, dzwoniąc.
if(waitDialog != null)
waitDialog.hide();
I odrzucam to, gdy Aktywność jest zniszczona.
if(dialogCreated)
dismissDialog(10);
super.onDestroy();
Zamyka się i wszystko jest świetnie. ALE, gdy zmieniam orientację mojego urządzenia i Aktywność jest odtwarzana, wyskakuje sam! Nie dzwonię do żadnego showDialoga czy coś takiego, tylko się pojawi!
Nienawidzę konkurujących odpowiedzi, ponieważ poświęciłeś dodatkowy czas, aby zacytować dokumentację, usunąłem odpowiedź i dałem ci wiadomość. – Sam
@Sam Myślę, że twoja odpowiedź wciąż ma wartość, zostawiłbym to.Prawdopodobnie powinien nazywać odwołanie zamiast hide, moją odpowiedzią jest jedynie domysły/hack, aby obejść domyślne zachowanie onCreateDialog. Myślę, że twoje jest prawdopodobnie lepszym rozwiązaniem. – Tim
Po prostu dwukrotnie sprawdziłem kod źródłowy i jeśli okno dialogowe jest wyświetlane wielokrotnie, użycie 'hide()' jest szybszym podejściem. Również twoja odpowiedź mogła być domysłem, ale jest dobrze uzasadniona i poprawna. Tak więc cieszę się, że mogę opuścić mój program. – Sam