Size: a a a

StartAndroid Ru Chat

2020 November 17

I

Ivan in StartAndroid Ru Chat
источник

DI

Dinar Islamov in StartAndroid Ru Chat
Alexander
fragB.setTargetFragment(this@fragA, TARGET_FRAG_A)
во фрагменте B
if (targetRequestCode == TARG_FRAG_A) {
...//do fragA specific
}
как инициализировать fragB?
источник

DI

Dinar Islamov in StartAndroid Ru Chat
через фрагмент менеджер как то ?
источник

A

Alexander in StartAndroid Ru Chat
ok
источник

A

Alexander in StartAndroid Ru Chat
Dinar Islamov
как инициализировать fragB?
я вроде написал, что не пользовался nav controller, потому не знаю как там создаются фрагменты и тп
источник

A

Alexander in StartAndroid Ru Chat
для кейса который я описал достаточно создать статик метод FragmentB.create()
источник

A

Alexander in StartAndroid Ru Chat
котоырй вернет объект FragmentB и дальше его юзать
источник

DI

Dinar Islamov in StartAndroid Ru Chat
Sergey Panov
Нужно правильно расставить листенеры. Для каждого ключа свой листенер ставить нужно, и ещё иерархию фрагмент мэнеджеров не напутать.
проблема в общем листенере то есть?
источник

SP

Sergey Panov in StartAndroid Ru Chat
Dinar Islamov
проблема в общем листенере то есть?
Я не видел Вашего кода, но скорее всего да.
источник

DI

Dinar Islamov in StartAndroid Ru Chat
Dinar Islamov
проблема в общем листенере то есть?
в вызываемом фрагменте листенера вообще же нет
источник

DI

Dinar Islamov in StartAndroid Ru Chat
может я не так объяснил... короче у меня есть фрагА. и фрагБ. из этих фрагов вызывается фрагС. фраг С листенера не имеет. Ему надо понять, кто его вызвал и какой сетРезалт выполнять.
источник

I

Ivan in StartAndroid Ru Chat
Dinar Islamov
может я не так объяснил... короче у меня есть фрагА. и фрагБ. из этих фрагов вызывается фрагС. фраг С листенера не имеет. Ему надо понять, кто его вызвал и какой сетРезалт выполнять.
просунь ему в аргументы ключ
источник

DI

Dinar Islamov in StartAndroid Ru Chat
тут скорее всего действительно как то через setTarget делать надо, только пока не могу поянть как
источник

DI

Dinar Islamov in StartAndroid Ru Chat
Ivan
просунь ему в аргументы ключ
не колстыльно ли так делать?
источник

I

Ivan in StartAndroid Ru Chat
не знаю, я не делал
источник

I

Ivan in StartAndroid Ru Chat
пока больше ничего в голову не пришло
источник

I

Ivan in StartAndroid Ru Chat
ну если апишка не даёт другого способа то почему нет
источник

SP

Sergey Panov in StartAndroid Ru Chat
Dinar Islamov
может я не так объяснил... короче у меня есть фрагА. и фрагБ. из этих фрагов вызывается фрагС. фраг С листенера не имеет. Ему надо понять, кто его вызвал и какой сетРезалт выполнять.
При создании фрагмента C  в аргументы можно положить информацию о том какой его фрагмент его вызвал и в зависимости от этого задавать ключ для FragmentResult
источник

DI

Dinar Islamov in StartAndroid Ru Chat
Sergey Panov
При создании фрагмента C  в аргументы можно положить информацию о том какой его фрагмент его вызвал и в зависимости от этого задавать ключ для FragmentResult
то есть правильно Иван говорит.. аргумент просунуть определяющий кто его вызвал.
источник

DI

Dinar Islamov in StartAndroid Ru Chat
тут еще похожая задача. фрагмент А вызывает фрагмент Б для разных целей.
есть фрагА с кнопкой "добавить" и ресайлкером.
"добавить" вызывает фрагБ пустой, для заполнения.
а если щелкнуть по айтему в ресайлкере, то вызывает фрагБ заполненный для редактирования.
опять же фрагБ должен понять, для какой цели его вызвали. То есть тоже какой то ключ надо в аргументах пропихнуть
источник