169 похожих чатов

Всем привет! вопрос по android navigation component мы имеем <NestedScrollView> <FragmentContainerView/>

</NestedScrollView>

и получаем следующую интересную ситуацию - у нас есть фрагмента А, на нем мы скроллим вниз, с него мы переходим на фрагмент Б и затем возвращаемся к фрагменту А, результат - состояние скролла сбилось, мы снова видим начало экрана А.
судя по докам, экраны при навигации уничтожаются и делается это, судя по комментариям разработчиков гугловских - специально, вроде как борьба с утечками.

вопрос: а как сохранять то скролл страницы? из фрагменты лезть в активити. оттуда лезть к nestedScrollView и сохранять величину скролла, а затем ее возвращать по такому же питу при навигации на фрагмент обратно, чтобы восстановить состояние скролла? это выглядит адским костылем.
такое дикое ощущение, что я просто что-то делаю не так.
гуглил, предлагали различные реализации навигаторов, которые не удаляет фрагмент при навигации, но это тоже костыль.

главный вопрос: как правильно сохранять состояние скролла вьюхи, при использовании nestedscrollview + navigationfragmentview

сохранять состояние скролла во вьюмодель - тоже костыль какой-то, закидывать в верстку каждого фрагмента nestedscrollview, чтобы в нее не лезть через активити - придется в каждом фрагменте заботиться о состоянии скролла nestedscrollview

4 ответов

18 просмотров

У скроллвью поменялся контент — вот скролл и потерялся. Тут даже не важно, уничтожаются фрагменты или просто прячутся. Можно скролл сделать внутри фрагментов, тогда будет сохраняться.

SeniorTomato-🗿🗿🗿 Автор вопроса
Mike (деньги не клянчу)
У скроллвью поменялся контент — вот скролл и потер...

хм, по идее, при убийстве фрагмента, можем состояние скролла в savedSatetHandle писать

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта