Когда ориентация меняется, каркас воссоздает действие, вызывая onCreate(Bundle savedInstanceState)
.Перед переключением в ориентацию будет вызван метод onSaveInstanceState(Bundle outState)
, если он переопределен в вашей активности.
Вы можете сохранить состояние ваших ошибок в Bundle, переданном методу onSaveInstanceState
.Этот пакет передается в ваш метод onCreate()
как savedInstanceState
Bundle.
Поэтому вам необходимо переопределить метод onSaveInstanceState
в своей деятельности следующим образом (сохраняя состояние ваших ошибок):
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putBoolean("errorOccurred", errorState);
super.onSaveInstanceState(outState);
}
Затем в вашем методе onCreate
проверьте, является ли savedInstateState
Bundle нулевым или нет.Если нет, вы можете извлечь значения из него с помощью следующего кода:
boolean errorOccurred = false;
if (savedInstanceState != null) {
errorOccurred = savedInstanceState.getBoolean("errorOccurred");
}