Android FragmentTransaction: Jak wygenerować nakładkę, przesuń istniejący Fragement w lewo
Próbuję wykonać następujące czynności. Utwórz nowe Fragement B (Menu), wsuń je z prawej strony i chcę się przenieść (bez ukrywania lub zamiany!) Już pokazanego Fragmentu A w lewo.
Dostałem transakcję z Fragmentu B w prawo, ale Fragment A w ogóle nie zmienia jego pozycji. Wydaje się, mójFragmentManager
nie wie, że istnieje fragment A (fragment A nie jest dodawany dynamicznie, jest zdefiniowany w XML).
main_screen_layout-xml
<RelativeLayout //...
android:id="@+id/main_screen"
tools:context=".MainActivity"
<fragment
android:id="@+id/map_screen"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
class="com.google.android.gms.maps.SupportMapFragment" >
</fragment>
FragmentTransaction
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.add(R.id.main_screen, new MenuFragment(), MENU_FRAGMENT); //adding Fragment B
ft.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left_cut);
ft.addToBackStack(null);
ft.commit();
Fragment A istnieje wFragementManager
i mogę to ukryć, ale to nie jest mój cel
Fragment fragmentA = fragmentManager.findFragmentById(R.id.map_screen);
ft.hide(fragmentA); //hide FragmentA
Co ja robię źle?
Niektóre uwagi:
Używam bibliotek pomocniczych (android.support.v4.app.FragmentManager ..), ale testuję na API 17Jak wspomniano wcześniej, nie deklarowałem FragmentA specjalnie dlaFragmentManager
(próbował tak, ale mówi, że Fragment już istnieje)Fragment A to (jak widać w XML) mapa google z klasySupportMapFragment
XML animacji działa, dlatego go nie opublikowałem