2016-07-10 24 views
1

Ich habe Schwierigkeiten, ein einzelnes Fragment zu entfernen, das ich dynamisch hinzufüge, wenn ich mehrere Fragmente habe.Entfernen eines einzelnen Fragments aus dem Backstack Android

Beispiele: MainActivty Inflate Fraga Inflate FragB Inflate FragC

Nun, wie ich Fragment A einfach löschen?

Mit popBackStack tötet alle drei und getSupportFragmentManager().beginTransaction().remove(TAG).commit(); auch THAE elbe

zu tun scheint Wie Sie dies richtig tun sollen? Ich versuche

mehrere backstacks persistent über Tabs zu halten

Antwort

0

try this ...

aktuellen Fragment Titel & Check Fragment A erhalten oder nicht.

erhalten aktuelle Fragment Titel getTitle() Methode zu verwenden und überprüfen

if(getTitle().toString.equals(fragment A){ 
     // do 
    }else{ 
     // do 
    } 
0

Können Sie dies versuchen ..

Für zB. unter Verwendung von Fragmentnamen als Tag:

FragmentTransaction ft = manager.beginTransaction(); 
ft.replace(R.id.content_frame, fragment); 
ft.addToBackStack(backStateName); 
ft.commit(); 

Popping:

getSupportFragmentManager().popBackStackImmediate (backStateName, 0); 

Dies sollte nur das Fragment mit dem spezifischen Tag Pop

FragmentA fragment = new FragmentA(); 
String backStateName = fragment.getClass().getName(); 

zu Backstack Hinzufügen.