Попробуйте добавить эту строку в тег активности файла манифеста.
<activity name= ".YourActivity" android:configChanges="orientation|screenSize"/>
Когда вы пишете этот параметр, вы не хотите обрабатывать что-либо в действии, но Android позаботится об этом , Он останется в существующем состоянии действия.
Если вы используете разные файлы макетов для альбомной ориентации, этот метод нарушит ваши макеты, поэтому вы можете использовать некоторые альтернативные методы для сохранения состояния.
Переопределите onSaveInstanceState
метод в своей деятельности и добавьте некоторый параметр в Bundle
protected void onSaveInstanceState(Bundle bundle) {
super.onSaveInstanceState(bundle);
bundle.putLong("param", value);
}
И восстановите значение в onCreate
, чтобы убедиться, что состояние уже создано.
public void onCreate(Bundle bundle) {
if (bundle != null){
value = bundle.getLong("param");
}
}