タブインジケータ付きのviewPagerがあります。 ViewPagerはFragmentPagerAdapterを持つsetAdaperです。FragmentPagerAdapterの現在のフラグメントを更新します。
私はFragmentPagerAdapterの内部がどのように機能するかをほとんど理解していません。 ネイバーがまだ表示されていなくても、ネイバーフラグメントが再開されていることがわかりました(OnResumeが呼び出されます)。
OnResumeに更新メソッドを追加すると、フラグメントが最新になったら更新されます。
広告バナーリフレッシュ
私は一度左にスワイプするか、右に一度swippingときフッターに設定された広告バナーを更新したいです。隣の断片は再現されません(良いこと)。しかし、onResumeは既にバナーのリフレッシュを避けるように呼び出されています。 loadBannerAdメソッドはOnResume()メソッドにあります。
どのように呼び出すことができる唯一の断片内部方法により、現在のフラグメントための方法loadBannerAd()?
EDIT:既にmViewPager.setOnPageChangeListener()について知っています。
OnPageChangeListener mOnPageChangeListener = new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// this method can be called before the fragment 's onCreateView()
}
....
};
ただし、まだフラグメントが作成されていないと危険です。 Activtyでフラグメントが作成されたかどうかを管理することで、そのフラグメントが破棄されます。
Warpzitに感謝します。私はこの方法について知っていました。よりエレガントなものがありますか(私は、そのフラグメント自体の中で呼び出されるメソッドを意味します) –
@raychenonいいえ、私はすべてを検索して試しましたが、これは実際にはかなりエレガントです。 onPageSelectedが呼び出されるたびにフラグメント内のメソッドを呼び出すことができます。 – Warpzit