Das freut mich.
hehe, hättest du das gleich gesagt Die folgende Funktion sichert deinen "Zustand" über den Layout Wechsel...
@Override
public void onSaveInstanceState(Bundle outState) {
/**
* sichere hier die URL oder was du sonst noch sichern willst.
*/
outState.putString("deinKey", "www.google.com");
}
nach dem OrientationChange springt dein Programm wieder in onCreate. Dort kannst du aus dem Paramter "savedInstanceState" deine Daten zurückholen.
Hier zwei simple Funktionen, die dir die Sache vielleicht gut verdeutlichen:
/**
* Wiederhergestellt?
*/
private boolean isRestart(Bundle savedInstanceState) { return savedInstanceState != null; }
/**
* Neu gestartet?
*/
private boolean isStartUp(Bundle savedInstanceState) { return savedInstanceState == null; }
Ruf am besten beide mal in onCreate auf und lasse dir den zurückgegebenen Wert ausgeben
Pseudocode:
onCreate(Bundle savedInstanceState) {
[...]
boolean isStart = isStartUp(savedInstanceState);
if(isStart) Log.d("Fall 1:", "Activity NEU gestartet");
else Log.d("Fall 2:","Activity REFRESH");
String letzteUrl = "";
// bzw: obiges URL-Beispiel
if(!isStart) letzteUrl = savedInstanceState.getString("deinKey", "www.defaultWebsite.com");
}
Fazit: Wenn das Bundle (im Parameter) nicht null ist, kannst du die von dir vorher in onSavedInstanceState() abgelegten Key-Value Paare herausziehen um sie so dann in onCreate wieder für die Wiederherstellung zu nutzen.
PS: die Seiten wirklich unbedingt lesen und am besten auch in Form von Beispielen durcharbeiten. Wenn man das nicht auf dem Schirm hat, wirds ziemlich schwierig halbwegs sinnvolle Apps zu programmieren. Früher oder später wirst du es eh lernen wollen / müssen.
Aus eigener Erfahrung kann ich dir versichern, dass es besser ist diese Grundlagen früh zu verstehen
— geändert am 15.12.2014, 15:58:01
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.