Heim > Java > javaLernprogramm > Wie ersetze ich Fragmente innerhalb einer Aktivitätsgruppe dynamisch?

Wie ersetze ich Fragmente innerhalb einer Aktivitätsgruppe dynamisch?

Patricia Arquette
Freigeben: 2024-11-18 09:25:02
Original
961 Leute haben es durchsucht

How to Dynamically Replace Fragments within an Activity Group?

Ersetzen von Fragmenten innerhalb einer Aktivitätsgruppe

Diese Frage betrifft das Ersetzen eines Fragments innerhalb einer Aktivitätsgruppe durch ein anderes Fragment. Der bereitgestellte Code zeigt bei fehlerfreier Ausführung nicht die gewünschte Ansicht an. Lassen Sie uns das Problem untersuchen und eine Lösung anbieten.

Das Problem

Der ursprüngliche Code versucht, ein Fragment mit der ID R.id.book_description_fragment zu ersetzen, indem es durch ein ersetzt wird SectionDescriptionFragment. Die Ansicht wird jedoch nicht angezeigt.

Die Lösung

Statisch in XML definierte Fragmente können nicht dynamisch ersetzt werden. Um diese Einschränkung zu beheben:

  1. Fragmente dynamisch hinzufügen: Fügen Sie die gewünschten Fragmente zur Laufzeit dynamisch zur Aktivitätsgruppe hinzu, um das Ersetzen zu erleichtern.
  2. Fragment ersetzen Code: Verwenden Sie die folgende aktualisierte Version des Codeausschnitts, der dynamisch ersetzt Fragmente:
Fragment newFragment = new SectionDescriptionFragment();
FragmentTransaction transaction = getActivity().getFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, newFragment);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
transaction.addToBackStack(null);
transaction.commit();
Nach dem Login kopieren
  1. Fragment-Container-ID: Stellen Sie sicher, dass R.id.fragment_container dem Layout oder Container innerhalb der Aktivitätsgruppe entspricht, die die dynamischen Fragmente hosten wird .

Schlüssel Hinweise:

  • Denken Sie daran, den Fragmentcontainer im XML-Layout Ihrer Aktivitätsgruppe zu definieren.
  • Beim Ersetzen von Fragmenten wird der Inhalt im Fragmentcontainer durch das neue Fragment ersetzt .
  • Durch die Verwendung der addToBackStack-Methode kann der Benutzer zum vorherigen Fragment zurücknavigieren.

Das obige ist der detaillierte Inhalt vonWie ersetze ich Fragmente innerhalb einer Aktivitätsgruppe dynamisch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage