Size: a a a

Cicerone Chat (RUS)

2020 August 26

Н

Никита 🙃 in Cicerone Chat (RUS)
сделал по подобию примера и немного завис.
Есть TabFragment
Внутри открывается фрагмент A, из него открываю фрагмент B, а затем фрагмент С

после переключения таба и обратно (т.е. после hide -> show) фрагмент С не отображается, но если нажать "назад" то открывается. Причём layoutInspector показывает что фрагмент С есть.
источник
2020 August 27

Н

Никита 🙃 in Cicerone Chat (RUS)
Никита 🙃
сделал по подобию примера и немного завис.
Есть TabFragment
Внутри открывается фрагмент A, из него открываю фрагмент B, а затем фрагмент С

после переключения таба и обратно (т.е. после hide -> show) фрагмент С не отображается, но если нажать "назад" то открывается. Причём layoutInspector показывает что фрагмент С есть.
Я дурачок.
Надо прокидывать во внутренние фрагменты router TabFragment'a, а я завтыкал и юзал "глобальный" 🙈
источник

AD

Aleksey D. in Cicerone Chat (RUS)
Никита 🙃
Я дурачок.
Надо прокидывать во внутренние фрагменты router TabFragment'a, а я завтыкал и юзал "глобальный" 🙈
классика 🌚
источник
2020 September 01

Н

Никита 🙃 in Cicerone Chat (RUS)
А такой вопрос ещё по тому что выше спрашивал,.
Вот есть TabFragment, где я использую childFragmentManager и его router что бы отображать на нём фрагменты.
Проблема в том, что столкнулся со странным багом.
В onViewCreated y ChildFragment'ов я делаю подписку на liveData.
В итоге если я перехожу с фрагмента A на B и возвращаюсь назад на A, в A отрабатывает Observer который возвращает последние данные и они ресеттятся.
Как избежать этого?
источник

Н

Никита 🙃 in Cicerone Chat (RUS)
При переключении фрагментов с supportFragmentManager'ом активити такого не происходит
источник

AD

Aleksey D. in Cicerone Chat (RUS)
Никита 🙃
А такой вопрос ещё по тому что выше спрашивал,.
Вот есть TabFragment, где я использую childFragmentManager и его router что бы отображать на нём фрагменты.
Проблема в том, что столкнулся со странным багом.
В onViewCreated y ChildFragment'ов я делаю подписку на liveData.
В итоге если я перехожу с фрагмента A на B и возвращаюсь назад на A, в A отрабатывает Observer который возвращает последние данные и они ресеттятся.
Как избежать этого?
может там viewLifecycleOwner надо использовать? (чисто пальцем в небо)
источник

Н

Никита 🙃 in Cicerone Chat (RUS)
Использовать TabFragment'a LifecycleOwner?
источник

Н

Никита 🙃 in Cicerone Chat (RUS)
Не. Не помогло)
А на секунду показалось здравой идеей :)
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
залогируй жц фрагмента, может вью и вправду  пересоздается
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
отрабатывает Observer который возвращает последние данные и они ресеттятся.
Как избежать этого?

а зачем избегать этого? что там такого у тебя происходит?
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
Само собой вью пересоздается. Фрагмент в бекстеке хранится без вью
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
И так и должно быть, что данные сетятся заного
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
вроде там история про костыль с вьюпейджером, который кеширует страницы
источник
2020 September 02

2

25 in Cicerone Chat (RUS)
источник
2020 September 03

AK

Andrei Kravchenko in Cicerone Chat (RUS)
Всем привет! Подскажите, пожалуйста, как с помощью cicerone сделать с одного фрмгамента start fragment for result? Может у кого-нибудь есть пример?
источник

AD

Aleksey D. in Cicerone Chat (RUS)
Andrei Kravchenko
Всем привет! Подскажите, пожалуйста, как с помощью cicerone сделать с одного фрмгамента start fragment for result? Может у кого-нибудь есть пример?
в репозитории есть пример
источник

AK

Andrei Kravchenko in Cicerone Chat (RUS)
ага, понял, поищу внимательнее, спасибо
источник

Н

Никита 🙃 in Cicerone Chat (RUS)
Arsen CeH9
отрабатывает Observer который возвращает последние данные и они ресеттятся.
Как избежать этого?

а зачем избегать этого? что там такого у тебя происходит?
Самое банальное: сбиваются RV (начинаются с начала), табы сбиваются, ViewPager возвращается на 0 позицию. Короче вот это вот всё
источник

Н

Никита 🙃 in Cicerone Chat (RUS)
ну т.е. самое банальное - кешировать каждый экран в onDestroyView, а так не хочется :(
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
ресайклер не должен сбиваться при пересоздании вью, ты где-то криво  инициализируешь его
источник