Jedes Mal, wenn Sie Ihr Handy, Konfigurationsänderung drehen passieren und eine neue Instanz Ihrer Aktivität erstellt wird. Aus diesem Grund sind Textview und Edittext auf Standardwerte eingestellt. Wenn für Ihre Ansichten jedoch die IDs in der XML-Datei festgelegt sind, gehen die für sie festgelegten Werte während einer Konfigurationsänderung nicht verloren. Wenn Sie keine ID festlegen möchten, können Sie die Werte für Textview und Edittext unter onSaveInstanceState
speichern und in onRestoreInstanceState
wiederherstellen.
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("arg1", textview1.getText());
outState.putString("arg2", edittext1.getText().toString());
......
}
Zur Wiederherstellung der gespeicherten Werte folgen folgenden Code ein:: Zum Beispiel Ihre Textview und EditText Werte folgen Sie den folgenden Code speichern
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
textview1.setText(savedInstanceState.getString("arg1"));
edittext1.setText(savedInstanceState.getString("arg2"));
......
}
Sie mehr dazu hier lesen: https://inthecheesefactory.com/blog/fragment-state-saving-best-practices/en
dass ist, weil die Aktivität neu geladen wird, wenn Sie den Bildschirm –
drehen, müssen Sie Laufzeitänderungen behandeln. Heres das offizielle Dokument, wie man das tut https://developer.android.com/guide/topics/resources/runtime-changes.html –
Siehe Antworten für Frage: [Handle Bildschirmdrehung ohne Daten zu verlieren - Android] (http://stackoverflow.com/questions/10126845/handle-screen-rotation-without-losing-data-android) –