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

Или там не захватывается активити?

9 ответов

29 просмотров

Судя по всему Activity не захватывается, ведь фрагмент создается при помощи FragmentStateAdapter и поэтому весь обмен данными происходит только лишь через него. Поэтому пойду долбиться в MainActivity т.к. это банально легче 😏

A A F O X
Судя по всему Activity не захватывается, ведь фраг...

Убрать логику с активити и вынести в отдельную вьюмодель для контректного фрагмента не подходит?

Ketler 🇺🇦
Убрать логику с активити и вынести в отдельную вью...

Не-а, так как там один фрагмент с одним рисайклом и в этот рисайкл надо пихать разные адаптеры (и разные листенеры) в зависимости от текущей позиции. Поэтому сейчас проще и легче всё необходимое для работы рисайклера получать через MainActivity mainActivity = (MainActivity) getActivity(); чем делать для этого отдельную вьюмодель

A A F O X
Не-а, так как там один фрагмент с одним рисайклом ...

Тоесть с фрагмента вы обращаетесь в активити?

Ketler 🇺🇦
Тоесть с фрагмента вы обращаетесь в активити?

Смотри: у меня есть TabLayout и для него ViewPager2. Для работы вьюпейджера нужон Fragment и FragmentStateAdapter, поэтому если очень упростить, то выходит примерно вот это: Fragment - (createFragment) -> FragmentStateAdapter - (setAdapter) -> ViewPager2 - (viewPager) -> TabLayoutMediator <- (tabLayout) - TabLayout. Отсюда получаем, что мы не можем сразу обратиться к Fragment, нам нужно работать именно с FragmentStateAdapter и через него передавать "простые" данные (типа int, String и так далее), а вот со "сложными" данными здесь начинается "веселье". Поэтому для "сложных" данных тут, как я понял, либо через MainActivity mainActivity = (MainActivity) getActivity(); либо через FragmentFactory, третьего не дано.

A A F O X
Смотри: у меня есть TabLayout и для него ViewPager...

Казалось бы, просто взять и использовать тут общую view model. Но нет, хочется создать себе трудности и героически их преодолеть.

Это та, которая растет из активити и которую могут использовать фрагменты этой активити. Зовите ее shared, если хочется.

Leonid B.
Это та, которая растет из активити и которую могут...

Ну да, я это и имел ввиду, уже делал такую фигню, и вроде в документации она называется shared view model

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
4
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта