aktywność:android - fragment .replace() nie zastępuje zawartość - umieszcza ją na
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
Fragment1 fragment = new Fragment1();
Fragment2 fragment2 = new Fragment2();
transaction.replace(R.id.Fragment1, fragment);
transaction.addToBackStack(null);
transaction.commit();
FragmentTransaction transaction2 = getSupportFragmentManager().beginTransaction();
transaction2.replace(R.id.Fragment1, fragment2);
transaction2.addToBackStack(null);
transaction2.commit();
kodu w widoku:
<fragment
android:id="@+id/Fragment1"
android:name="com.landa.fragment.Fragment1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_below="@+id/include1" />
problem to, że zawartość nie Naprawdę dostaje się zastąpiony - jest nakładany na wierzch (więc się nakłada).
Kiedy klikam, pierwszy fragment zostanie wyświetlony poprawnie (bez drugiego), ale początkowo oba są widoczne (chcę, aby tylko ostatni był widoczny).
Czego mi tu brakuje?
Używanie 'FrameLayout' jako kontenera jest lepsze niż użycie' LinearLayout'. –
Korzystanie z pustego FrameLayout w działaniu rozwiązało również mój problem –
Działa to w ten sposób. Ale kiedy uruchomię aplikację i natychmiast naciśniesz przycisk Wstecz, kończę w stanie, w którym fragment jest pusty, zamiast wychodzić z aplikacji? – MasterScrat