微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 更新FragmentPagerAdapter中的当前片段

我有一个带有标签指示器的viewPager. ViewPager是带有FragmentPagerAdapter的setAdaper.

我几乎不了解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()
        }

        ....
    };

但是尚未创建片段存在危险.管理是否已在Activty中创建片段会使其失效.

解决方法

你只需使用:
mViewPager.setonPagechangelistener(new OnPagechangelistener() {

            @Override
            public void onPageSelected(int index) {
                // Todo Auto-generated method stub

            }

            @Override
            public void onPageScrolled(int arg0,float arg1,int arg2) {
                // Todo Auto-generated method stub

            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
                // Todo Auto-generated method stub

            }
        })

然后你可以处理onPageSelected(int index)中发生的事情.

原文地址:https://www.jb51.cc/android/309558.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐