</NestedScrollView>
и получаем следующую интересную ситуацию - у нас есть фрагмента А, на нем мы скроллим вниз, с него мы переходим на фрагмент Б и затем возвращаемся к фрагменту А, результат - состояние скролла сбилось, мы снова видим начало экрана А.
судя по докам, экраны при навигации уничтожаются и делается это, судя по комментариям разработчиков гугловских - специально, вроде как борьба с утечками.
вопрос: а как сохранять то скролл страницы? из фрагменты лезть в активити. оттуда лезть к nestedScrollView и сохранять величину скролла, а затем ее возвращать по такому же питу при навигации на фрагмент обратно, чтобы восстановить состояние скролла? это выглядит адским костылем.
такое дикое ощущение, что я просто что-то делаю не так.
гуглил, предлагали различные реализации навигаторов, которые не удаляет фрагмент при навигации, но это тоже костыль.
главный вопрос: как правильно сохранять состояние скролла вьюхи, при использовании nestedscrollview + navigationfragmentview
сохранять состояние скролла во вьюмодель - тоже костыль какой-то, закидывать в верстку каждого фрагмента nestedscrollview, чтобы в нее не лезть через активити - придется в каждом фрагменте заботиться о состоянии скролла nestedscrollview
У скроллвью поменялся контент — вот скролл и потерялся. Тут даже не важно, уничтожаются фрагменты или просто прячутся. Можно скролл сделать внутри фрагментов, тогда будет сохраняться.
хм, по идее, при убийстве фрагмента, можем состояние скролла в savedSatetHandle писать
можно, да, просто кажется, что не очень правильно)
полностью согласен
Обсуждают сегодня