2016-09-30 4 views
0

Ich habe eine TabLayout mit einer ViewPager. Die ViewPager hat zwei Registerkarte Elemente A und B.TabLayout ViewPager Klares Fragment

Wenn ich Tab A drücken zeigt es mir die richtige Ansicht, gleich für Registerkarte B. Jetzt in Registerkarte A, zeige ich ein paar Fragment A1 (Standard) -> A2 -> A3. Wenn ich Tab B drücke und dann zu Tab A zurückkehre, kann ich immer noch A3 sehen. Wie kann ich jedes Mal auf Fragment A1 gehen, wenn ich Tab A drücke? Ich bin mir nicht sicher, wo ich diese Logik hinzufügen soll (ViewPager oder auf der TabLayout.ViewPagerOnTabSelectedListener) und standardmäßig auf die A1 Fragment.

Irgendwelche Ideen?

Antwort

0

Von A1> A2> A3 das ist die Art, wie ich die Fragmente ersetze.

rufen Sie einfach die ersetzen Fragment mit gleichen Container aller drei Fragmente.

public void replaceFragment(Fragment fragment, int container, String tag) { 
    mFragmentManager = getFragmentManager(); 
    mFragmentTransaction = mFragmentManager.beginTransaction(); 
    mFragmentTransaction.replace(containerId, fragment, tag); 
    mFragmentTransaction.addToBackStack(tag); 
    mFragmentTransaction.commit(); 
} 

Und wieder drücken Sie die Taste: entfernen Fragment diese Weise

public void removeFragment() { 
    mFragmentManager = getFragmentManager(); 
    mFragmentManager.popBackStack(); 
} 

Hier, wenn Sie auf B Registerkarte gehen und zurück zu A, Zustand des Fragments A3 kommen zerstört wird, hoffe, das hilft.

Verwandte Themen