Rotation

  • Antworten:1
Kevin B.
  • Forum-Beiträge: 3

10.08.2010, 11:44:42 via Website

Hallo zusammen,
nun weiteres Androidspezifisches Problem von mir. Die Rotation. Ich hab gesehen, dass leider alles zurückgesetzt wird sobald das Android Telefon gedreht wird nach befragung von Tante Google habe ich herausbekommen, dass beim Drehen des Telefons die onDestroy() und onCreate() Methode neu aufgerufen wird.
Als Lösungen die mich nicht wirklich zufrieden stellen sind mir in den Sinn gekommen oder hab ich gefunden:

1. In der onCreate() Methode eine booleschen Variable nutzen die nach einmaliger Ausführung auf true gesetzt wird und alle Intialisierungen sind in der dazugehörigen if Abfrage .
2. Die Lösung von "AndroidGuys.com" dort wird allerdings mit nur einem Objekt gearbeitet, ich müsste aber mindestens 3 Objekte samt Inhalt über die onDestroy() onCreate() Methoden überleben lassen. Oder funktioniert das ganze auch irgendwie mit mehreren Objekten?
3. Das RotationsEvent abfangen und es lediglich eine Methode aufrufen lassen die den Bildschirm dreht aber sonst nichts macht.
4. Eine weitere Klasse schreiben die von Application erbt, weil die onCreate() Methode von Application wirklich nur beim starten aufgerufen wird während die Activity onCreate() Methode auch beim rotieren aufgerufen wird.

Was ist denn die beste Lösung bzw. wie machen das denn andere Programmierer von euch oder wie wird es in anderen Apps gemacht?

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

10.08.2010, 19:50:25 via Website

Wenn du dir sicher bist, das du nix aus onCreate() brauchst, also kein anderes Layout etc., dann kanns du
android:configChanges="orientation|keyboardHidden"
benutzen, um das "Neuladen" beim Drehen zu verhindern.

Antworten