При изменении ориентации на вашем устройстве ваша активность будет уничтожена и воссоздана.Вы можете сохранить и восстановить состояние кнопки, введя onSaveInstanceState(Bundle outState)
.Для получения дополнительной информации о жизненном цикле действия и о том, как использовать onSaveInstanceState/onRestoreInstanceState
, ознакомьтесь с этой статьей .
Вы можете записать состояние кнопки как логическое значение, используя isSelected
.Например, в своей деятельности вы можете сделать следующее:
public static final String BUTTON_STATE = "buttonState";
@Override
public void onSaveInstanceState(Bundle outState) {
outState.putBoolean(BUTTON_STATE, button.isSelected());
// call superclass to save any view hierarchy
super.onSaveInstanceState(outState);
}
Чтобы восстановить состояние вашей кнопки, вы можете сделать это:
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
button.setSelected(savedInstanceState.getBoolean(BUTTON_STATE));
}
Вот дополнительный ресурс вкак сохранить состояние с помощью фрагментов.