Hai ragione, c'è un modo migliore per farlo!
Dai uno sguardo allo FragmentPagerAdapter javadoc online e vedrai che esiste un metodo setPrimaryItem(ViewGroup container, int position, Object object):void che fa esattamente ciò di cui hai bisogno.
Dal javadoc
setPrimaryItem public void (contenitore, int position, oggetto Object ViewGroup)
Chiamato per informare l'adattatore di quale elemento è attualmente considerata il "primario" , questo è l'unico che mostra all'utente la pagina attuale .
Contenitore parametri La vista contenente dalla quale sarà rimossa la pagina . posizione La posizione della pagina che ora è la principale. oggetto Lo stesso oggetto restituito da instantiateItem (View, int).
Nota sullo stato di scorrimento
Ora, se si implementa questa e iniziare il debug per avere un'idea di quando esattamente questo è chiamato noterete rapidamente questo viene attivato più volte sulla preparazione del frammento e, mentre l'utente sta scorrendo rapidamente.
quindi potrebbe essere una buona idea di allegare anche una ViewPager.OnPageChangeListener e solo fare ciò che deve essere fatto una volta che i viewpagers scorrere Stato diventa SCOLL_STATE_IDLE di nuovo.
si prega di inviare il codice per un migliore aiuto. – Raj
Mi piacerebbe saperlo anche in questo momento. –