我有一个带有选项卡指示器的viewPager。ViewPager使用FragmentPagerAdapter进行了setAdaper。
我对FragmentPagerAdapter内部的工作原理知之甚少。我注意到即使邻居还没有可见,邻居片段也会恢复(调用OnResume)。
我把更新方法放在OnResume中,认为一旦片段变成当前状态,它就会被更新。
广告横幅刷新 我想要在向左滑动一次或向右滑动一次时更新页脚中设置的广告横幅。邻居片段不会被重新创建(这是好事)。但是,由于已经调用了OnResume,因此避免了横幅刷新。loadBannerAd方法在OnResume()方法中。
如何通过片段内的方法仅针对当前片段调用loadBannerAd()方法?
编辑:我已经知道mViewPager.setOnPageChangeListener()。
我对FragmentPagerAdapter内部的工作原理知之甚少。我注意到即使邻居还没有可见,邻居片段也会恢复(调用OnResume)。
我把更新方法放在OnResume中,认为一旦片段变成当前状态,它就会被更新。
广告横幅刷新 我想要在向左滑动一次或向右滑动一次时更新页脚中设置的广告横幅。邻居片段不会被重新创建(这是好事)。但是,由于已经调用了OnResume,因此避免了横幅刷新。loadBannerAd方法在OnResume()方法中。
如何通过片段内的方法仅针对当前片段调用loadBannerAd()方法?
编辑:我已经知道mViewPager.setOnPageChangeListener()。
OnPageChangeListener mOnPageChangeListener = new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// this method can be called before the fragment 's onCreateView()
}
....
};
但是当片段尚未创建时存在危险。在活动中管理片段是否已经创建会破坏它的原本意义。