in meiner Anwendung (minSdkVersion
17, aber ich bin diesbezüglich flexibel), habe ich eine einzige Aktivität. Es zeigt eine Art Zeitplan an. Ich möchte den aktuellen Tag anzeigen lassen und zur richtigen Zeit scrollen. Diese Funktionalität funktioniert bereits einwandfrei.Android: Code ausführen, wenn App "aktiviert" ist, nicht auf Orientierung ändern
Ich möchte dies jedes Mal tun, wenn die App gestartet wird, oder jedes Mal, wenn die App wieder aktiv wird (z. B. nach Drücken der Home-Taste und erneutem Klicken auf das App-Symbol, ohne die App dazwischen zu löschen).
Aber ich will dies nicht tun, wenn das Gerät gedreht wird.
Zum Beispiel habe ich eine Methode:
private void scrollToNow() {
// do the calculation and scroll all views to the correct position
// this is code I already have fully functional!
}
Und ich will es die Aktivität wieder aktiv jedes Mal ausführen wird, aber nicht auf Orientierungsänderung.
Ich versuchte eine Menge Kombinationen (in onStart
, onResume
, onCreate
), aber keiner von ihnen hat den Trick. Ich habe versucht, mithilfe von savedInstanceState eine Lösung zu erstellen, die jedoch fehlgeschlagen ist.
Hat jemand ein paar Tipps oder nützliche Links für mich?
Thanks a lot,
Oliver
Ich denke, ich habe das schon versucht, aber in diesem Fall, wenn ich mich richtig erinnere, bekam ich sogar diese Flagge, wenn die Aktivität aus einem anderen Grund als der Orientierungsänderung zerstört wurde. Ich werde es nochmal versuchen. Vielen Dank! –
ok, ich habe es erneut getestet, und onCreate wird nur mit einer Bundle-Instanz aufgerufen und nur dann, wenn sich die Ausrichtung ändert. Ich habe die folgenden Fälle getestet: neuer App-Start, Drücken der Home-Taste, Zurückgehen zur App mit/ohne Töten. Ich glaube, ich habe einen Fehler gemacht, als ich es versuchte. Ich denke, ich habe vergessen, die Flagge einmal onResume wurde zurückgesetzt. –