Ersetzen Sie ein Fragment programmgesteuert
Ich habe drei Fragmente, wie in der folgenden Abbildung gezeigt. Ich habe all diese drei Fragmente in LinearLayout mithilfe einer XML-Datei hinzugefügt und beim Starten meiner Startaktivität das XML-Layout mithilfe von setContentView geladen.
Ich habe einige Kontrollen auf fragment2. Wenn Sie auf eine der Optionen klicken, wird das Fragment4 mithilfe der FragmentTransaction- und Commit-Methode programmgesteuert geladen. Diese Fragmente werden dem Bildschirm hinzugefügt, aber das Problem ist, dass das programmatisch hinzugefügte Fragment4 den gesamten Bildschirmbereich einnimmt. Woran kann das liegen?
Hinweis: Wenn Sie einen Gegenstand anklicken, klicken Sie auf f2. Ich möchte nur f2 durch neues Fragment f4 ersetzen. Denken Sie daran, ich habe f1, f2, f3 durch XML-Layout-Datei hinzugefügt und programmgesteuert neues Fragment f4 hinzugefügt.