Landscape - Portrait wechsel onCreate neu aufgerufen

T

Tyler

Neues Mitglied
0
Hallo,
ich habe ein Problem. In der onCreate rufe ich einige Methoden auf, die wirklich nur beim Start der Activity aufgerufen werden sollen.
Wenn ich die Anwendung ausführe und mein Handy so drehe, dass es vom Landscape in den Portrait Modus wechselt oder andersherum werden die Methoden neu aufgerufen. Einzig logischer Grund kann sein, dass die onCreate erneut ausgeführt wird. Wie kann ich das unterbinden? Gibt es eine andere [FONT=&quot]Platzierungsmöglichkeit [/FONT]meiner Methodenaufrufe?
Ich weiß, dass ich es auf einen Modus beschränken könnte um das Problem zu umgehen, aber das ist nicht gerade meine Wunschlösung.
 
OnCreate wird tatsächlich immer aufgerufen. Du musst dir ein Flag setzten, dann weißt du ob dein Programm neu gestartet wurde oder während des Betriebs nur das Gerät gedreht wurde.
 
  • Danke
Reaktionen: Tyler
Das Falg könntest Du in onSaveInstanceState setzen:
Code:
@Override
protected void onSaveInstanceState (Bundle outState) {
 outState.putBoolean("RESTART", true);
 super.onSaveInstanceState(outState);
}

in onCreate kanst Du das dann wie folgt abfragen:
Code:
if (savedInstanceState == null) {
 // Neustart der Anwedung
}
else {
 // Wenn Du die Information an mehreren Stellen benötigst kannst Du restart auch global machen oder auch ganz weglassen wenn es Dir reicht zu wissen dass es ein Restart ist.
 bool restart = savedInstanceState.getBoolean("RESTART");
}

Je nachdem wie Deine Activity aufgebaut ist nur noch als Anmerkung um evtl. auftretende Seiteneffekte von vornherein mitzubedenken:
onSaveInstanceState wird auch aufgerufen wenn das BS Deine Activity z.B. aus Speichermangel beendet. Kommt der User zur Activity zurück wird sie ebenfalls neu gestartet. Android kümmert sich in vielen Fällen selbst darum das die Activity wieder so hochkommt wie sie verlassen wurde aber nicht in allen.
 
  • Danke
Reaktionen: Tyler

Ähnliche Themen

D
  • Data2006
Antworten
14
Aufrufe
449
jogimuc
J
5
Antworten
22
Aufrufe
1.369
590239
5
L
Antworten
4
Aufrufe
1.317
lonnie9020
L
Zurück
Oben Unten