Mam viewPager ze wskaźnikiem tabulacji. ViewPager jest ustawionyAdapt z FragmentPagerAdapter.Zaktualizuj bieżący fragment w FragmentPagerAdapterie
Nie mam pojęcia, jak działają wewnętrzne elementy FragmentPagerAdapter. Zauważyłem, że fragmenty sąsiada są wznawiane (nazwa OnResume jest nazywana), nawet jeśli sąsiad nie jest jeszcze widoczny.
Ustanawiam metody aktualizacji w OnResume, myśląc, że gdy fragment jest aktualny, zostanie zaktualizowany.
baner odświeżania
chcę baner ustawiony w stopce zaktualizować kiedy przesuwając w lewo, raz lub swipping raz w prawo. Fragmenty sąsiadów nie są odtwarzane (dobrze). Ale onResume jest już nazywany unikaniem odświeżania banera. Metoda loadBannerAd jest w metodzie OnResume().
W jaki sposób można wywołać metodę loadBannerAd() tylko dla bieżącego fragmentu uzyskanego metodą wewnątrz fragmentu?
EDYCJA: Wiem już o mViewPager.setOnPageChangeListener().
OnPageChangeListener mOnPageChangeListener = new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// this method can be called before the fragment 's onCreateView()
}
....
};
Istnieje jednak niebezpieczeństwo, gdy fragment nie został jeszcze utworzony. Zarządzanie tym, czy fragment został utworzony, czy nie, w Activty, pokonuje jego cel.
dzięki Warpzit, wiedziałem o tej metodzie. Czy jest coś bardziej eleganckiego (mam na myśli metodę zwaną w samym fragmencie)? –
@raychenon nie, przeszukałem i przetestowałem wszystko, ale jest to całkiem eleganckie. Możesz wywołać metodę w tym fragmencie za każdym razem, gdy zostanie wywołana opcja onPageSelected, jeśli jest to bardziej zgodne z Twoimi preferencjami ... – Warpzit