So vermeiden Sie einen Neustart der Aktivität, wenn sich die Ausrichtung auf Android ändert

Lesezeit: 2 Minuten

So vermeiden Sie einen Neustart der Aktivitat wenn sich die
chirag

Ich erstelle eine Android-App, in der ich eine Ansicht auf eine Leinwand zeichne. Wenn sich die Ausrichtung des Geräts ändert, wird die Aktivität neu gestartet. Ich will es nicht.

Wie kann ich vermeiden, die Aktivität neu zu starten, wenn sich die Ausrichtung ändert?

1647108186 662 So vermeiden Sie einen Neustart der Aktivitat wenn sich die
Mike

Es gibt verschiedene Möglichkeiten, dies zu tun, aber wie hier angegeben, mit

android:configChanges="keyboardHidden|orientation|screenSize"

ermöglicht es Ihnen, auf die Konfigurationsänderungen zu hören. Auf diese Änderungen reagieren Sie dann durch Überschreiben onConfigurationChanged und anrufen setContentView.

So habe ich es gemacht, aber ich wäre daran interessiert, die Gedanken anderer Leute zu erfahren.

  • In meinem Fall sollte ich setContentView nicht verwenden und onConfigurationChanged sollte leer sein und nur das Super aufrufen.

    – MDP

    15. Januar 2016 um 20:00 Uhr

Definieren Sie Ihre Aktivität in der AndroidManifest.xml wie folgt:

   <activity
        android:name="com.name.SampleActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:icon="@drawable/sample_icon"
        android:label="@string/sample_title"
        android:screenOrientation="portrait" >
    </activity>

  • Das ist irreführend. Die android:screenOrientation="portrait" erzwingt jederzeit eine Hochformat-Bildschirmausrichtung. Fügen Sie diese Zeile nicht ein.

    – Daniel C Jacobs

    24. September 2021 um 15:30 Uhr

1647108186 16 So vermeiden Sie einen Neustart der Aktivitat wenn sich die
Ninjasinn

Überprüfen Sie Ihre Android-Manifestdatei, die Sie geschrieben haben android:configChanges="orientation" auf die Aktivität..

  • Beachten Sie, dass dies größtenteils nicht das ist, was Sie tun möchten. Für die meisten Apps besteht der richtige Ansatz darin, Ihre Konfiguration in onSaveInstanceState() aufzuschreiben und nach der Konfigurationsänderung wiederherzustellen.

    – jjb

    31. Dezember 2010 um 6:38 Uhr

  • danke. aber ich zeichne ein diagramm auf der leinwand onclick event of button, also wie kann ich den zustand der leinwand speichern.

    – chirag

    31. Dezember 2010 um 7:29 Uhr

So vermeiden Sie einen Neustart der Aktivitat wenn sich die
Oubaida AlQuran

Ich habe versucht zu schreiben android:configChanges="keyboardHidden|orientation|screenSize" im Aktivitäts-Tag, funktioniert aber nicht.

Ich habe viele Methoden ausprobiert, aber nichts funktioniert, bis ich hinzugefügt habe android:configChanges="keyboardHidden|orientation|screenSize" zum alle App-Aktivitäten und es funktioniert perfekt.

Ich würde die Verwendung von Fragmenten empfehlen. Sie können einfach verwenden setRetainInstance(true) um zu benachrichtigen, dass Sie Ihr Fragment behalten möchten.

  • Dies verhindert jedoch nicht, dass die Host-Aktivität und die Fragmentansichten zerstört werden

    – Ludwig CAD

    13. Dezember 2017 um 19:38 Uhr

1647108187 218 So vermeiden Sie einen Neustart der Aktivitat wenn sich die
Asad Ali Choudhry

Zum xamarin Benutzer,

Fügen Sie dies hinzu, um den Neustart der Anwendung bei einer Ausrichtungsänderung in Android zu vermeiden

ConfigurationChanges = Android.Content.PM.ConfigChanges.Orientation | Android.Content.PM.ConfigChanges.ScreenSize

zum Aktivitätsattribut aller Aktivitätsklassen. Unten ist zum Beispiel mein Demo-Code

    [Activity(Label = "DemoApp", ConfigurationChanges = Android.Content.PM.ConfigChanges.Orientation | Android.Content.PM.ConfigChanges.ScreenSize)]
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
    {
        protected override void OnCreate(Bundle bundle)
        {
        //Some code here
        }
    }

  • Dies verhindert jedoch nicht, dass die Host-Aktivität und die Fragmentansichten zerstört werden

    – Ludwig CAD

    13. Dezember 2017 um 19:38 Uhr

1647108187 470 So vermeiden Sie einen Neustart der Aktivitat wenn sich die
Mohsen mokhtari

Fügen Sie dies allen Ihren Aktivitäten im Manifest hinzu.

android:configChanges="orientation|screenSize"

Beispiel:

<activity android:name=".activity.ViewActivity"
        android:label="@string/app_name"
        android:configChanges="orientation|screenSize"/>

994730cookie-checkSo vermeiden Sie einen Neustart der Aktivität, wenn sich die Ausrichtung auf Android ändert

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy