Interakcja aktywności i fragmentów

mamActivity z wielomaFragments. Chcę pokazaćDialogFragment lub otwórz innyFragment z jednego zFragments. Wiem, że toActivity powinien być tym, któremu powierzono otwarcieFragmentwięc zamiast tego wypróbowałem kilka rzeczy.

PIERWSZY
Próbowałem użyćgetActivity() i rzuć to, abym mógł wywołać metodę wActivity pokazaćFragment jednak powoduje to zależność wFragment zActivity i chciałbym uniknąć dodawania zależności, jeśli to możliwe.

DRUGA
Następnie spróbowałem słuchacza powiadomićActivity że powinien pokazać aFragment. Więc stworzyłem klasę wActivity zaimplementować interfejs detektora. Ale miałem problemy, ponieważ musiałem użyćNew MyActivity().new Listener(); i to rzucałobyException kiedy próbowałem użyćgetSupportFragmentManager() od tej instancjiActivity nie jest zainicjowany.

TRZECI
Próbowałem wtedy miećActivity zaimplementuj słuchacza bezpośrednio, ponieważ działa, ponieważ wtedy tworzę jedynie zależność od słuchacza, a nie od działania. Jednak teraz docieram do punktu, w którym mójActivity będzie wdrażać 2–4 różne interfejsy, co powoduje, że jestem niezdecydowany, ponieważ poważnie zmniejszy spójność.

Tak więc, jakkolwiek próbowałem, wydaje mi się, że wpadam na ścianę z cegieł i tworzę zależności, ale nie jestem pewien, czy muszę tworzyć. Czy jestem skręcony i muszę skorzystać z jednej z tych opcji? Jeśli tak, która opcja byłaby najlepsza? Każda pomoc lub sugestie są bardzo mile widziane.

questionAnswers(7)

yourAnswerToTheQuestion