Pull to refresh

Comments 7

Спасибо за статью.

Но вот что интересно - используется ли вообще где-то ещё подход с использование "чистого"supportFragmentManager, чтобы данный подход применять? Мне кажется везде либо какие-то либы-фреймворки-обёртки, либоjetpack navigation либо вовсе новомодный compose.

Хороший вопрос, добавил опросник чтобы посчитаться

Если отображает что-то вроде карт (тяжеловесное) и нет желания чтобы оно выгрузилось при транзакции фрагмента сверху, то придется юзать fragment manager. (Jetpack navigation replace делает)

Выглядит красиво и удобно. Но как быть с передачей аргументов во фрагменты, если они были получены после создания Activity (например, через интернет запроса)?

Тут могу предложить, либо передавать в add фабрику фрагмента, либо комбинировать два способа и передать аргумент, который узнается после создания фрагмента, через способ с бандл. Возможно, если это не подходит, отказаться от использования неудобного апи. Мне лично приходилось два раза использовать FragmentFactory и оба раза аргументы были известны при создании активити.

Классический вариант с arguments мне известен. И он работает на 100%.

Фабрики, что добавил Google для Fragments, во факту такую задачу решить не могут, так как в большинстве случаев передаваемые аргументы не известны, в момент создания фрагмента (при условии, что вы используете Single Activity). Если у вас каждый Fragment имеет свою Activity и вы в Activity передаете эти самые аргументы, то такой способ подходит отлично.

Судя по всем, FragmentFactory больше нужен для того, чтобы вы могли передать зависимости во фрагмент. И тогда получается, что вы можете отдать процесс создания фрагмента на откуп DI.

Но для передачи именно аргументов этот механизм уже не подходит и нужно по старинке передавать аргументы через аргументы (масло масляное получилось).

Sign up to leave a comment.

Articles