2016-09-15 4 views
1

Ich habe einen ViewPager mit einem TabLayout. Ich ändere Seiten innerhalb eines ViewPager-Fragments über parentActivity.setCurrentItem(), das auf ein Geschwisterfragment verweist.ViewPager - Wie man weiß, wenn ein zwischengespeichertes Fragment angezeigt wird

Nur wenn ich dieses Fragment von einem Geschwister umleiten möchte ich eine andere Ansicht anzeigen. Ich habe ein Problem, da das Fragment zwischengespeichert wird und OnCreateView nicht zündet, wenn das Fragment angezeigt wird.

Gibt es ein Ereignis, das ausgelöst wird, wenn ein zwischengespeichertes Fragment angezeigt wird?

Antwort

1

Überschreiben setUserVisible (boolean isVisibleToUser) im Fragment scheint den Trick zu tun. Dies wird ausgelöst, wenn das Fragment erstellt wird und wenn das Fragment angezeigt wird.

@Override 
public void setUserVisibleHint(boolean isVisibleToUser) { 
    super.setUserVisibleHint(isVisibleToUser); 

    ParentActivity parent = (ParentActivity)getActivity(); 

    if (parent != null){ 
     String leftMenuToShow = parent.getMenuItemToShowInFragment(); 
     String elementToShow = parent.getElementToShowInFragment(); 
    } 
} 
Verwandte Themen