2016-03-26 8 views
-4

So ändern Sie die Gesamtansicht eines Fragments mit einem anderen Fragment !!So ändern Sie die aktuelle Fragmentansicht mit einem anderen Fragment

Oder wie das aktuelle Fragment mit einem anderen Fragmente zu schließen, erklären Sie bitte mit Layout auch

Vielen Dank im Voraus ...

+2

Google es dort Reihe von Tutorials sind n zunächst auf fragment_2 fragment_1. –

+1

Ich stimme zu, diese Frage als off-topic zu schließen, weil das OP sich nicht einmal die Mühe gemacht hat, eine minimale Recherche bei Google durchzuführen. –

Antwort

0
getSupportFragmentManager().beginTransaction().replace(R.id.fragmentlayout,new fragment()).commit() 

Dies werden Ihnen helfen, Ihr bestehendes Fragment in Sicht mit der ID FragmentLayout ersetzen mit einem new fragment().

Danke, ich hoffe, das war hilfreich.

0

Sie können in Ihrer Aktivität Fragmente hinzufügen oder ersetzen. Erstellen Sie eine FrameLayout in Aktivität Layout xml Datei.

Dann dies in Ihrer Aktivität zu ersetzen Fragment. Sie können den gleichen Code jedes Mal verwenden, wenn Sie ein Fragment durch ein anderes ersetzen möchten.

FragmentManager manager = getFragmentManager(); 
FragmentTransaction transaction = manager.beginTransaction(); 
transaction.add(R.id.container,YOUR_FRAGMENT_NAME,YOUR_FRAGMENT_STRING_TAG); 
transaction.addToBackStack(null); 
transaction.commit(); 

Wenn Sie wollen Fragment hinzufügen statt ersetzen dann dies tun:

FragmentManager manager = getFragmentManager(); 
FragmentTransaction transaction = manager.beginTransaction(); 
transaction.replace(R.id.container,YOUR_FRAGMENT_NAME,YOUR_FRAGMENT_STRING_TAG); 
transaction.addToBackStack(null); 
transaction.commit(); 

Wenn Sie hinzugefügt frogment mit Anu anderen Fragment ersetzen wollen, dann müssen Sie vorherigen Fragment entfernen zuerst (oder Sie können ausblenden vorherigen Fragment; hängt von Ihrer Anforderung ab). Siehe folgenden Code:

Fragment fragment = getSupportFragmentManager().findFragmentByTag(YOUR_FRAGMENT_STRING_TAG); 
if(fragment != null) 
    getSupportFragmentManager().beginTransaction().remove(fragment).commit(); 

Siehe folgende verwandte Fragen auf SO:

Difference between add(), replace(), and addToBackStack()

Basic difference between add() and replace() method of Fragment

Difference between add() & replace() with Fragment's lifecycle

Oder meine Antwort auf eine ähnliche Frage sehen:

How to start Fragment from an Activity

0

Zuerst nehmen Sie ein Framelayout in Ihrer Aktivität, wo Sie Fragment hinzufügen.

FragmentManager manager = getFragmentManager(); 
FragmentTransaction transaction = manager.beginTransaction(); 
transaction.add(R.id.framelayout,fragment_1); 
transaction.addToBackStack(null); 
transaction.commit(); 

Beim ersten Fragment mit dem zweiten ersetzen Sie schreiben, ändern Sie einfach

FragmentManager manager = getFragmentManager(); 
FragmentTransaction transaction = manager.beginTransaction(); 
transaction.add(R.id.framelayout,fragment_2); 
transaction.addToBackStack(null); 
transaction.commit(); 
Verwandte Themen