Согласно примеру Google здесь Я разработал приложение на основе фрагментов.
Моя основная активность содержит фрагмент списка заголовков и, если он создан в ландшафтном режиме, фрагмент сведений. Если приложение запускается в портретном режиме, основное действие содержит только фрагмент списка, и если щелкнуть элемент списка, запускается новое действие, которое показывает фрагмент сведений.
Если я остаюсь в портретном или ландшафтном режиме, все работает нормально. Но как только я меняю ориентацию, возникает множество проблем.
1-я проблема: при запуске в портретном режиме, а затем при переходе в ландшафтный режим действие дважды добавляется в стек действий, и мне приходится дважды нажимать кнопку "Назад", чтобы закрыть приложение. Я не могу представить, как Google хочет, чтобы это работало, так как мне этого избежать?
2-я проблема: при переходе из ландшафтного режима в портретный режим отображается список, а не фрагмент сведений с текущим выбранным элементом. Таким образом, весь пользовательский ввод в моем фрагменте сведений теряется. Это просто раздражает, и я не знаю, как с этим справиться. Должен ли я программно заботиться об изменении ориентации в каждом действии?
3-я проблема: когда я переключаюсь между деталями n в ландшафтном режиме, как только я перехожу в портретный режим, мне приходится нажимать кнопку "Назад" n > раз, чтобы закрыть мое добавление, так как фрагменты находятся в заднем стеке (хотя они больше не видны). Должен ли я сам очищать задний стек при изменении ориентации?