Ho un viewPager con indicatore di tabulazione. ViewPager è impostato suAdaper con FragmentPagerAdapter.Aggiorna il frammento corrente in FragmentPagerAdapter
Non riesco a capire come funzionano gli interni di FragmentPagerAdapter. Ho notato che i frammenti dei vicini sono stati ripristinati (viene chiamato OnResume), anche se i vicini non sono ancora visibili.
Ho inserito i metodi di aggiornamento in OnResume pensando che una volta che il frammento è aggiornato, verrà aggiornato.
banner pubblicitario di aggiornamento
Voglio che il banner impostato nel piè di pagina per aggiornare quando scorrendo verso sinistra una o swipping una volta a destra. I frammenti vicini non vengono ricreati (buona cosa). Ma onResume è già stato chiamato evitando il refresh del banner. Il metodo loadBannerAd è nel metodo OnResume().
Come posso chiamare il metodo loadBannerAd() solo per il frammento corrente con un metodo all'interno del frammento?
MODIFICA: conosco già mViewPager.setOnPageChangeListener().
OnPageChangeListener mOnPageChangeListener = new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// this method can be called before the fragment 's onCreateView()
}
....
};
Ma c'è un pericolo quando il frammento non è stato ancora creato. Gestire se il frammento è stato creato o meno nell'Attivazione sconfigge il puro scopo di esso.
grazie a Warpzit, sapevo di questo metodo. C'è qualcosa di più elegante (intendo un metodo chiamato all'interno del frammento stesso) –
@raychenon no, ho cercato e provato tutto ma in realtà è abbastanza elegante. Puoi chiamare un metodo nel frammento ogni volta che onPageSelected viene chiamato se questo è più per le tue preferenze ... – Warpzit