Utrzymywanie widoczności paska postępu przy zmianie orientacji

Mam pasek postępu (styl oczekujący) zdefiniowany w xml jako:

<ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="@android:style/Widget.Holo.ProgressBar.Large"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:id="@+id/progress"
        />

Ukrywa to widoczność w działaniuonCreate metoda przy użyciu,

progressBar.setVisibility(View.GONE);

i uruchom go na przyciskuonClick wydarzenie za pomocą

progressBar.setVisibility(View.VISIBLE);

Teraz, gdy zmienię rozmiar ekranu, pasek postępu zniknie. Rozumiem, że aktywność jest niszczona i odtwarzana po zmianie orientacji, a stan aktywności jest odtwarzany w nowej orientacji z zapisanejBundle savedInstanceState. Mam rację, myśląc, że domyślnieBundle zapisany przez androida nie zawiera żadnych zmian dokonanych w aProgressBar Zobacz obiekt?

Jeśli tak jest, czy słuszne jest stwierdzenie, że jedynym sposobem przywrócenia prawidłowej widocznościProgressBar po zmianie orientacji należy zapisać flagę (np.boolean pbState = false/true) zastępując metodęonSaveInstanceState i sprawdzanie tej flagionRestoreInstanceState i odpowiednio ustawić widoczność? Albo brakuje mi czegoś naprawdę oczywistego w zapisywaniu obiektów widoku stanu.

Dzięki

AKTUALIZACJA:

Oba poniższe rozwiązania działają. Zdecydowałem się na wprowadzenieandroid:configChanges="orientation|screenSize" w pliku manifestu xml. Jednak dokumentacja stwierdza, że ​​ta metoda powinna być używana tylko jakoOstatnia deska ratunku. Moja aktywność jest dość prosta, więc manifestowa metoda xml zmniejsza ilość kodu wymaganego w głównej działalności, tj. NieonRestoreInstanceState metoda. Zakładam, że jeśli twoja aktywność jest bardziej złożona, prawdopodobnie będziesz chciał wyraźnie zdefiniować wszelkie zmiany stanu przy użyciu tej drugiej metody.

questionAnswers(3)

yourAnswerToTheQuestion