Erhalten der Sichtbarkeit der Fortschrittsanzeige bei Änderung der Ausrichtung

Ich habe einen Fortschrittsbalken (swirly waiting style) in XML definiert als:

<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"
        />

Ich verstecke seine Sichtbarkeit in der AktivitätonCreate Methode mit,

progressBar.setVisibility(View.GONE);

und starte es auf KnopfdruckonClick Ereignis mit

progressBar.setVisibility(View.VISIBLE);

Wenn ich nun die Bildschirmausrichtung ändere, verschwindet der Fortschrittsbalken. Ich verstehe, dass die Aktivität bei einer Änderung der Ausrichtung zerstört und neu erstellt wird und der Status der Aktivität in der neuen Ausrichtung aus den gespeicherten wiederhergestellt wirdBundle savedInstanceState. So bin ich richtig in der Annahme, dass die StandardeinstellungBundle Gespeichert von Android enthält keine Änderungen an aProgressBar Objekt anzeigen?

Wenn dies der Fall ist, ist es richtig zu sagen, dass dies die einzige Möglichkeit ist, die korrekte Sichtbarkeit derProgressBar nach einer Orientierungsänderung soll ein Flag gespeichert werden (z.boolean pbState = false/true) durch Überschreiben der MethodeonSaveInstanceState und Inspektion dieser Flagge inonRestoreInstanceState und die Sichtbarkeit entsprechend einstellen? Oder fehle ich etwas wirklich offensichtliches über das Speichern der Ansichtsstatusobjekte.

Vielen Dank

AKTUALISIEREN:

Beide unten aufgeführten Lösungen funktionieren. Ich habe mich für das Putten entschiedenandroid:configChanges="orientation|screenSize" in der XML-Manifestdatei. In der Dokumentation wird jedoch angegeben, dass diese Methode nur alsletzter Ausweg. Meine Aktivität ist ziemlich einfach, und so reduziert die XML-Methode des Manifests die Menge an Code, die für die Hauptaktivität erforderlich ist, d. HonRestoreInstanceState Methode. Ich nehme an, wenn Ihre Aktivität komplexer ist, möchten Sie möglicherweise explizit Statusänderungen mit der letzteren Methode definieren.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage