Więc zacząłem fragment A od mojej głównej działalności i ten fragment zawiera przycisk. Po kliknięciu tego przycisku uruchamia się ten kod:
Fragment newFragment = new HomeFragment();
// consider using Java coding conventions (upper first char class names!!!)
FragmentTransaction transaction = getFragmentManager().beginTransaction();
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.formFragment_Container, newFragment);
transaction.addToBackStack(null);
// Commit the transaction
transaction.commit();
Więc, jak możesz powiedzieć, odpalam fragment Bfragment A, a czego nie otrzymuję, to jaka aktywność obsługuje ten fragment B, ponieważ w powyższym kodzie nie ma wskazania głównej aktywności, ani fragmentu B w głównej działalności. Czy możesz mi to wyjaśnić. Dzięki!
Odpowiedzi:
1 dla odpowiedzi № 1Jest objęty koncepcją zagnieżdżonych fragmentów w Androidzie. Zarówno dla Fragmentu A, jak i B, powiązana z nim aktywność jest główną aktywnością (z której dodano Fragment A).
Dostęp do głównej aktywności i fragmentu A można uzyskać z fragmentu B. Na przykład. getActivity () zwróci Main Activity, getParentFragment () zwróci Fragment A.
3 dla odpowiedzi № 2
Kiedy zadzwonisz do
getFragmentManager()
Wykorzystuje instancję FragmentManager, której działanie używa do zarządzania Fragmentami. Zatem działanie będzie takie samo jak działanie A.