У меня возникли проблемы, обертывая голову тем, как правильно управлять Fragment в типичном шаблоне шаблона списка.
Мой макет отлично работает и структурирован так для пейзажного вида (двойная панель):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout ... >
<FrameLayout android:id="@+id/list" ... />
<FrameLayout android:id="@+id/container" ... />
</LinearLayout>
И как это для портретного вида (одно окно):
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@+id/container" ... />
У меня также есть refs.xml в res/values-w600dp/, чтобы убедиться, что соответствующий макет загружен на основе ширины экрана устройства.
Когда элемент списка выбран, в альбомном представлении должен отображаться список и детали бок о бок, в то время как портретный портрет должен показывать только полноэкранный режим. Когда ничего не было выбрано, в альбомном представлении должны быть слева слева и пустое пространство справа, а портретный вид должен показывать только полный список в списке.

Однако здесь, где у меня возникают проблемы:
-
Я использую "основной"
Activityдля списка + дополнительный макет детали и еще одну "информацию"Activityдля портрета, только для макета? Это похоже на то, что делает Fragments guide. Я получил этот подход для работы в целом, но как мне сохранить состояние фрагмента моих деталей при изменении ориентации?Рассмотрим обратный пример, показанный выше - поворот с портрета на пейзаж, пока детали видны, значит, детали
Activityдолжны бытьfinish()ed, поэтому основнойActivityможет отображать двухпанельный макет, но это также разрушает фрагмент деталей и егоsavedInstanceState. Если пользователь набрал информацию в поляEditTextв фрагменте детали, затем поворачивает устройство, как мне сохранить все состояние пользовательского интерфейса фрагмента детали, когда я добавляю его на основную (двухпанельную)Activity? -
Я использую только один
Activityи сам управляюFragment? Это позволяет мне сохранять состояние пользовательского интерфейса деталей, когда меняется ориентация (поскольку Android позаботится об этом автоматически), но он становится беспорядочным, когда дело доходит до заднего стека.Рассмотрим случай на изображении - поворот от пейзажа к портрету, когда детали будут видны, должен показать отображение деталей с одной панелью, но как правильно управлять задним стеком и
ActionBarдомашним значком, чтобы отобразить список одиночный -pane? Поворот назад к пейзажу также должен был бы отменить все предыдущие операции со стеклом, так как оба фрагмента будут видны сразу.
После нескольких поисков я нашел два похожих вопроса (Переключение с двойной панели на одиночную панель смены ориентации, поддерживающей фрагмент фрагмента и Сохранять состояние фрагмента между действиями), но моя ситуация немного отличается, потому что я не пытаюсь модифицировать эту функциональность, но лучше всего планирую ее. Что мне не хватает? Разумеется, Android может управлять как задним стеком (как в случае с несколькими Activity) , так и состоянием пользовательского интерфейса (как в случае с одним случаем Activity) сразу?