Chronometer null bei rotation

tanzverfuehrung

Bekanntes Mitglied
ja also wenn man ein android handy dreht...wird immer wieder die onCreat() methode aufgerufen!und alles wird auf null gesetzt.ich habe gelesen das ich das verhindern kann!
verstehe iich aber nicht ganz...wie ich es speichern kannn
ich habe einen chronometer der automatisch zählt....und immer wieder wenn ein neues GPS signal kommt, springt die uhr auf null zurück und fängt von neuem an zu zählen!(Das ist auch richtig so)
nun aber wenn ich das handy drehe...geht die stopuhr auch immer wieder auf 00:00...(soll NICHT so sein)
habe auch beide methoden (onSaveInstanceState und onRestoreInstanceState) benutzt....
nun frage ich mich aber wieso das alles noch nicht so funktioniert?!
wo genau muss ich die methoden benutzen???
kann mir jemand weiter helfen?


Java:
    private long lasttimeSend;

@Override
    protected void onSaveInstanceState(Bundle outState) {
        outState.putLong("chronometer", lasttimeSend);

        super.onSaveInstanceState(outState);
    }


@Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
      
        Chronometer chronometerView = (Chronometer)    findViewById(R.id.chronometer);
    chronometerView.setBase(savedInstanceState.getLong("chronometer"));

        super.onRestoreInstanceState(savedInstanceState);
    }


ich habe auch gelesen das man es in der MAnifest amchen kann...

<activity android:name=".MyActivity"
android:label="My Activity"
android:screenOrientation="portrait">

...doch dann dreht sich der bildschirm einfach nicht mehr mit wenn ich das handy drehe!aber es wird nichts gespeichert.
 
Zuletzt bearbeitet von einem Moderator:

tanzverfuehrung

Bekanntes Mitglied
EDIT:.......
..doch dann dreht sich der bildschirm einfach nicht mehr mit wenn ich das handy drehe!aber es wird nichts gespeichert.....
das heißt z.b. wenn ich die tastertur aufschiebe...ändert sich auch die bildschirmperspektive und somit ist alles wieder weg(auf null)

ich habe es jetzt noch anders ausprobiert mit zwei methoden

Java:
@Override
    protected void onPause() {
        final SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE)
                .edit();
        editor.putLong("time", lasttimeSend);
        editor.commit();
        super.onPause();
    }

    @Override
    protected void onResume() {
        final SharedPreferences prefs = getPreferences(MODE_PRIVATE);
        Chronometer chronometerView = (Chronometer) findViewById(R.id.chronometer);
        chronometerView.setBase(prefs.getLong("chronometer", lasttimeSend));
    }
doch dann funktioniert GARNCIHTS mehr!
also meine app kann dann nach dem installieren garnicht geöffnet werden!WIESOOOOO???

wenn ich die methode onResume() auskommentiere aber onPause nicht auskommentiere....funktioniert meine app wieder....
aber mein problem ist immer noch nicht gelöst. ???:L;(
 

Neue Themen


Oben