ADAMH: Já jsem se ztratil taky. Předpokládám, že Android není zrovna tvoje domovina, stejně jako Java, takže jsem zabloudil už u deskriptoru :-)). Předpokládám, že mluvíme o referenci, což už takhle na začátku vypadá na křehkou architekturu, protože fragment a aktivita nemají dokonale synchronizovaný životní cyklus, takže si koleduješ o IllegalStateException, navíc ostré reference na context (v tomto případě aktivita) nevyhnutelně vedou k memory leakům. Aktivita by měla řídit jen životní cyklus, a sice na úrovni aktivity, tedy nad fragmentem (např. spouštím jinou aktivitu, jinou aplikaci, zobrazuji dialog). Fragment by měl být soběstačný, a když po aktivitě něco chce, má na ní nullable getter getActivity(), popř. unsafe non-null requireActivity(). Nemyslím si, že by aktivita měla kdy něco chtít po fragmentu (vstupní parametry obstarají Safe Args v navigation components, popř. getInstance() a arguments bundle), tudíž neshledávám důvod k obousměrné komunikaci. Zejména, když používáš nav controller, pro který si fragment umí sáhnout sám přes findNavController(). Počítám, že MVVM nepoužíváš, takže budeš mít ve fragmentu i business logiku a tudíž ti odpadá ta relevantní oboustranná komunikace mezi fragmentem a viewmodelem. Můžeš uvést příklad svého use case? Vyzkoušený tutorial nemám, protože jsem se to učil při práci na již navrženým projektu postaveném na Android Clean Architecture (extrémně nedoporučuji!) a já jsem si z ní pro svoje projekty odnesl jen to, co jsem považoval za funkční :-).