Я использую getLastNonConfigurationInstance() для сохранения объекта при изменении ориентации в своей деятельности. теперь он устарел. Каков наилучший способ альтернативы? в документации указано «Использовать фрагмент». Но мне нужно использовать активность.Изменения ориентации в android
2
A
ответ
3
Для сохранения состояния используйте onSaveInstanceState(Bundle savedInstanceState)
. Вы можете восстановить сохраненное состояние либо в onCreate
, либо в onRestoreInstanceState(Bundle savedInstanceState)
.
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
// Save UI state changes to the savedInstanceState.
// This bundle will be passed to onCreate if the process is
// killed and restarted.
savedInstanceState.putBoolean("MyBoolean", true);
savedInstanceState.putDouble("myDouble", 1.9);
savedInstanceState.putInt("MyInt", 1);
savedInstanceState.putString("MyString", "Hello Android");
super.onSaveInstanceState(savedInstanceState);
}
Bundle по существу является способом хранения «карты Key-Value Pair, и он будет получать передаваемый в OnCreate, а также onRestoreInstanceState где вы бы извлечь значения, как это:
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
// Restore UI state from the savedInstanceState.
// This bundle has also been passed to onCreate.
boolean myBoolean = savedInstanceState.getBoolean("MyBoolean");
double myDouble = savedInstanceState.getDouble("myDouble");
int myInt = savedInstanceState.getInt("MyInt");
String myString = savedInstanceState.getString("MyString");
}
Смежные вопросы
- 1. android: изменения ориентации ориентации webView
- 2. Android Volley - изменения ориентации
- 3. Отмена изменения ориентации - Android
- 4. ANDROID - Изменения ориентации
- 5. Изменения ориентации на Android
- 6. Проблема изменения ориентации фрагментов Android
- 7. Android-событие после изменения ориентации
- 8. Android: изменения ориентации - вызвано: java.lang.NullPointerException
- 9. Layout сломан при ориентации изменения в Android
- 10. В Android, активность не видит изменения ориентации?
- 11. FragmentManager и изменения ориентации экрана в Android
- 12. Android: временно отключить изменения ориентации в действии
- 13. Ошибка при ориентации изменения в Android AsyncTask
- 14. медиа-запрос для изменения ориентации в android
- 15. UIVIew изменения ориентации и ориентации
- 16. Android | Как сохранить разблокировку ориентации даже после изменения ориентации программно?
- 17. Android: Изменения в пользовательском объекте удалены после изменения ориентации
- 18. Сохранять изменения компоновки после изменения ориентации в android
- 19. Cordova обнаружение изменения ориентации
- 20. Порядок фрагмента фрагмента Android после изменения ориентации
- 21. Android: DoubleTap не работает после изменения ориентации
- 22. ОС Android, не определяющие изменения ориентации
- 23. Сохранение настроек TextView на изменения ориентации - Android?
- 24. Поворот дисплея Android без изменения ориентации
- 25. Android: Пользовательская анимация потеряна после изменения ориентации
- 26. Delphi Android - обнаружение изменения ориентации устройства
- 27. Предотвращение изменения ориентации Android на определенных устройствах
- 28. Изменения формата xml для Android при ориентации
- 29. Android - переключатель остается включенным после изменения ориентации.
- 30. Активность Android Перезагрузка Когда изменения ориентации
Спасибо, vipul, он отлично работает :) –
Добро пожаловать :) –