Interakcja aktywności i fragmentów
mamActivity
z wielomaFragment
s. Chcę pokazaćDialogFragment
lub otwórz innyFragment
z jednego zFragment
s. Wiem, że toActivity
powinien być tym, któremu powierzono otwarcieFragment
wię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.