Vous avez raison, il y a une meilleure façon de le faire!
Jetez un oeil à la FragmentPagerAdapter javadoc en ligne et vous allez voir est une méthode setPrimaryItem(ViewGroup container, int, Object Object):void en train de faire exactement ce dont vous avez besoin.
À partir de la javadoc
public void setPrimaryItem (ViewGroup container, int, Object Object)
Appelé pour les informer de l'adaptateur de l'article qui est actuellement considérée comme
être le "principal", qui est celui de montrer à l'utilisateur que l'actuel
page.
Paramètres récipient contenant de Vue à partir de laquelle la page sera
supprimé. la position la position de La page qui est maintenant le principal.
l'objet même de l'objet renvoyé par instantiateItem(Vue,
int).
Note sur l'état de défilement
Maintenant, si vous implémentez cette et démarrer le débogage pour avoir une idée de quand exactement ce qui est appelé, vous remarquerez rapidement c'est déclenché plusieurs fois sur la préparation du fragment et pendant que l'utilisateur est de glisser le long de.
Donc, il pourrait être une bonne idée également joindre un ViewPager.OnPageChangeListener et ne faire que ce qui doit être fait une fois que le viewpagers de défilement de l'état devient SCOLL_STATE_IDLE de nouveau.