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

Как отследить откуда был открыт фрагмент? например, из bottomnavigation или

из button?

17 ответов

30 просмотров

Боюсь что это нельзя отследить средствами сдк. Ты можешь бандлом передавать во фрагмент какой-нибудь объект который обозначит откуда он был открыт. Или ты можешь сеттить тег при транзакции фрагмента и затем юзать его для определения того откуда фрагмент был открыт. Но сомневаюсь что тебе нужна эта инфа во FragmentManager'е

Евгений-Горовой Автор вопроса
Yuri Pisarev
Боюсь что это нельзя отследить средствами сдк. Ты ...

костылить не хотел бы, может, все-таки есть какой-то встроенный способ

Евгений Горовой
костылить не хотел бы, может, все-таки есть какой-...

Нет ничего костыльного в передаче еще одного объекта во фрагмент для определения того откуда он был вызван. Если твоему фрагменту необходима эта информация для внутренней логики - его как раз и нужно передавать извне. А для чего тебе это? Интересно узнать какой у тебя задача.

Евгений-Горовой Автор вопроса
Yuri Pisarev
Нет ничего костыльного в передаче еще одного объек...

разметка ui фрагмента зависит от того, откуда его вызвали

Евгений Горовой
разметка ui фрагмента зависит от того, откуда его ...

Я думаю что это получается два разных фрагмента с некоторым общим функционалом. Ты не думал сделать 2 разных фрагмента вместо того чтобы перегружать логикой один?

Евгений Горовой
нет, именно один фрагмент

Нет - логически. Мне кажется что это по большому счету 2 разных фрагмента. Почему бы не сделать абстрактный фрагмент с общими для двух вариаций функционалом и не реализовать 2 фрагмента наследника? В них напишешь что тебе нужно. И потом будешь дергать тот который тебе нужен и так тебе не придется выяснять откуда фрагмент был открыт

Yuri Pisarev
Нет - логически. Мне кажется что это по большому с...

Если там разница в 1 лишней кнопочке то зачем?

Евгений-Горовой Автор вопроса
Yuri Pisarev
Нет - логически. Мне кажется что это по большому с...

ну эм. условно, если у меня из одного места фрагмент 1 кнопка, из другого 2 кнопки, из третьего места 3 кнопки и т д и получится каша мне нужно отрисовывать / не отрисовывать одну вьюшку в зависимости от того, откуда открыт фрагмент

Евгений Горовой
ну эм. условно, если у меня из одного места фрагме...

Ааа... Тогда передай дополнительную инфу в бандл. Я думаю что этого решения более чем достаточно для твоей задачи

Евгений-Горовой Автор вопроса
Yuri Pisarev
Ааа... Тогда передай дополнительную инфу в бандл. ...

да, я об этом думал уже, еще до того, как сюда написал) спасибо за совет часа через 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...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта