Каждый раз, когда вы поворачиваете телефон, изменение конфигурации произойдет и новый экземпляр вашей деятельности создается. Вот почему ваши Textview и Edittext установлены в значения по умолчанию. Однако, если ваши представления имеют на них id в xml, тогда значения, установленные на них, не будут потеряны во время изменения конфигурации. Если вы не хотите устанавливать идентификатор, то другим способом было бы сохранить значения Textview и Edittext в onSaveInstanceState
и восстановить их в onRestoreInstanceState
. Например, чтобы сохранить TextView и значения EditText следуют следующий код:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("arg1", textview1.getText());
outState.putString("arg2", edittext1.getText().toString());
......
}
Чтобы восстановить сохраненные значения следуют следующий код:
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
textview1.setText(savedInstanceState.getString("arg1"));
edittext1.setText(savedInstanceState.getString("arg2"));
......
}
Вы можете прочитать больше об этом здесь: https://inthecheesefactory.com/blog/fragment-state-saving-best-practices/en
что потому что активность перезагружается при повороте экрана –
, вам нужно обрабатывать изменения времени выполнения. heres официальный doc о том, как это сделать https://developer.android.com/guide/topics/resources/runtime-changes.html –
См. ответы на вопрос: [Обработка вращения экрана без потери данных - Android] (http: /stackoverflow.com/questions/10126845/handle-screen-rotation-without-losing-data-android) –