Verzweifle an der onCreate-Methode

M

Maiworm

Neues Mitglied
0
Hallo,

ich habe das Activity Life Cycle in der Theorie verstanden, aber in der Praxis macht es einfach nicht, was es soll.

Ich habe die drei Methoden onCreate, onPause und onResume implementiert. In der onCreate werden meine Variablen initialisiert. Jetzt wird aber komischerweise scheinbar die onCreate-Methode auch dann aufgerufen, wenn ich das Handy sperre und danach wieder entsperre. Das sollte doch eigentlich an der Stelle nicht passieren, oder?

Hat einer eine Idee? Ich kann auch gerne noch mehr Infos liefern...
 
Hallo,

an für sich sollte es nur neu aufgerufen werden, wenn die Activity erstellt wird, oder wenn der "App process killed" passierte Activity | Android Developers

Füge doch mal Folgendes hinzu und überprüfe es..

Code:
    @Override
    protected void onPause() {
        super.onPause();        
        Log.v("DEINE KLASSE", "onPause()");
    }
    
    @Override
    protected void onStop() {
        super.onStop();        
        Log.v("DEINE KLASSE", "onStop()");
    }
Wenn onPause und onStop durchlaufen werden dann ist ja alles richtig, wovon ich auch ausgehe!

Grüße Bobert
 
Zuletzt bearbeitet:
Ich habe gerade eine Lösung gefunden. Wenn man in der AndroidManifest-Datei folgendes hinzufügt, dann wird die Methode nicht aufgerufen!

android:configChanges="keyboard|keyboardHidden|orientation"
 
Hallo,

meinst Du das hat mit deinen ursprünglichen Problem "Handy sperre und danach wieder entsperre" zu tun, ich meine nicht.

Was du damit änderst ist. "keyboardHidden" The keyboard accessibility has changed — for example, the user has revealed the hardware keyboard und "orientation" The screen orientation has changed — the user has rotated the device.

<activity> | Android Developers

Grüße Bobert
 
Von der Logik her verstehe ich es auch nicht, aber es funktioniert.
Nach der Handysperre wird nur noch onResume aufgerufen, so wie es sein soll.
 
Sicherlich war das nicht die Lösung: "android:configChanges="keyboard|keyboardHidden|ori entation"

Wahrscheinlich hast Du was anderes geändert... oder oder oder...

Aber geht ja jetzt!

Gruß Bobert
 
Worauf entwickelst du? Und welche Ausrichtung hat deine Activity?
Bei meinem Solitaire (landscape) wird die Activity auch neu gestartet, wenn ein Telefon genutzt wird. Die Orientation ändert sich nämlich wenn das Telefon gesperrt wird von Landscape zu Portrait.
Mit configChanges sagst du, dass deine Activity das selber handeln kann wenn das Display gedreht wird. Darum wird die Activity nicht gekillt.
 
  • Danke
Reaktionen: Maiworm
Ja, es liegt an der orientaion. ich habe die auf landscape eingestellt und das ist der Grund, warum die onCreate-Methode aufgerufen wird.
 

Ähnliche Themen

M
Antworten
3
Aufrufe
160
moin
M
FabianDev
Antworten
5
Aufrufe
555
swa00
swa00
Jansenwilson
Antworten
1
Aufrufe
751
swa00
swa00
Zurück
Oben Unten