1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Verzweifle an der onCreate-Methode

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Maiworm, 25.02.2012.

  1. Maiworm, 25.02.2012 #1
    Maiworm

    Maiworm Threadstarter Junior Mitglied

    Beiträge:
    26
    Erhaltene Danke:
    0
    Registriert seit:
    29.01.2012
    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...
     
  2. Bobert, 25.02.2012 #2
    Bobert

    Bobert Erfahrener Benutzer

    Beiträge:
    161
    Erhaltene Danke:
    15
    Registriert seit:
    21.11.2010
    Phone:
    Nexus S
    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: 25.02.2012
  3. Maiworm, 25.02.2012 #3
    Maiworm

    Maiworm Threadstarter Junior Mitglied

    Beiträge:
    26
    Erhaltene Danke:
    0
    Registriert seit:
    29.01.2012
    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"
     
  4. Bobert, 25.02.2012 #4
    Bobert

    Bobert Erfahrener Benutzer

    Beiträge:
    161
    Erhaltene Danke:
    15
    Registriert seit:
    21.11.2010
    Phone:
    Nexus S
    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
     
  5. Maiworm, 25.02.2012 #5
    Maiworm

    Maiworm Threadstarter Junior Mitglied

    Beiträge:
    26
    Erhaltene Danke:
    0
    Registriert seit:
    29.01.2012
    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.
     
  6. Bobert, 25.02.2012 #6
    Bobert

    Bobert Erfahrener Benutzer

    Beiträge:
    161
    Erhaltene Danke:
    15
    Registriert seit:
    21.11.2010
    Phone:
    Nexus S
    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
     
  7. the_alien, 25.02.2012 #7
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    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.
     
    Maiworm bedankt sich.
  8. Maiworm, 25.02.2012 #8
    Maiworm

    Maiworm Threadstarter Junior Mitglied

    Beiträge:
    26
    Erhaltene Danke:
    0
    Registriert seit:
    29.01.2012
    Ja, es liegt an der orientaion. ich habe die auf landscape eingestellt und das ist der Grund, warum die onCreate-Methode aufgerufen wird.
     

Diese Seite empfehlen