У меня есть простое действие с двумя фрагментами: основной (содержит список элементов) и подробно. Экран сведений - это фрагмент, который отображается при нажатии элемента в основном списке. DetailFragment
показывается с использованием replace()
.
После перехода назад с подробного экрана я хотел бы иметь ту же самую позицию прокрутки в RecyclerView
, с которой я ее оставил.
Пока replace()
инициирует цикл onDestroyView()
и onCreateView()
для MainFragment
, после возврата из DetailFragment
RecyclerView
имеет позицию прокрутки 0 (вверху), потому что это это совершенно новый RecyclerView
, который не имеет связи с тем, который был там до выхода на DetailFragment
.
replace()
этот фрагмент не инициирует вызов onSaveInstanceState()
, поэтому использование описанных здесь не применимо.
Интересно, как правильно обращаться с этим вариантом использования?
Конечно, я могу сохранить позицию на onDestroyView()
, а затем вручную прокрутить до этой позиции, но, возможно, я упускаю какое-то очевидное решение?
Ответ, предлагающий использовать add()
вместо replace()
, не приветствуется.