Взаимодействие активности и фрагмента
у меня естьActivity
с несколькимиFragment
s. Я хочу показатьDialogFragment
или открой другойFragment
от одного изFragment
s. Я знаю чтоActivity
должен быть тот, которому поручено открытиеFragment
Так что вместо этого я попробовал пару вещей.
ПЕРВЫЙ
Я пытался использоватьgetActivity()
и привести его, чтобы я мог вызвать метод вActivity
показатьFragment
Однако это создает зависимость вFragment
сActivity
и я хотел бы избежать добавления зависимости, если это возможно.
ВТОРОЙ
Затем я попытался слушателя уведомитьActivity
что это должно показатьFragment
, Итак, я создал класс вActivity
реализовать интерфейс слушателя. Но у меня были проблемы, потому что я должен был использоватьNew MyActivity().new Listener();
и это бросило быException
когда я пытался использоватьgetSupportFragmentManager()
так как этот экземплярActivity
не инициализируется.
В ТРЕТЬИХ
Затем я попытался получитьActivity
реализовать слушателя напрямую, который работает, потому что тогда я создаю зависимость только от слушателя, а не от действия. Однако сейчас я подхожу к тому, что мойActivity
будет реализовывать 2 - 4 различных интерфейса, что делает меня нерешительным, потому что это сильно снижает сцепление.
Так что, как бы я ни пытался, мне кажется, что я врезаюсь в кирпичную стену и создаю зависимость.Я не уверен, что мне нужно творить. Я облажался и должен пойти с одним из этих вариантов? Если так, какой вариант будет лучше? Любая помощь или предложения с благодарностью.