更新FragmentPagerAdapter当前片段 [英] Update the current fragment in FragmentPagerAdapter

查看:255
本文介绍了更新FragmentPagerAdapter当前片段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个选项卡指示器一个viewPager。该ViewPager是setAdaper与FragmentPagerAdapter。

I have a viewPager with tab indicator. The ViewPager is setAdaper with a FragmentPagerAdapter.

我有一点了解如何FragmentPagerAdapter工作的内部。
我注意到邻居片段重新开始(OnResume叫),即使邻居都还不可见。

I have little understanding how the internals of FragmentPagerAdapter work. I noticed that the neighbor fragments are resumed ( OnResume is called ) , even though the neighbor are not yet visible.

我把更新方法中OnResume认为一旦片段是最新的,这将被更新。

I put the update methods in OnResume thinking that once the fragment is current, it will be updated.

广告横幅刷新
结果我想要的广告横幅在页脚设置向左滑动一次或向右swipping一次何时更新。邻居碎片不会被重建(好事)。但是onResume已经称为避免旗帜刷新。该方法loadBannerAd是OnResume()方法。

Ad banner refresh
I want the ad banner set in the footer to update when swiping to the left once or swipping once to the right . The neighbor fragments are not recreated ( good thing ). But onResume is already called avoiding the banner refresh. The method loadBannerAd is in OnResume() method.

结果
结果我如何调用该方法loadBannerAd()仅用于内部片段当前片段按方法

编辑:我已经知道mViewPager.setOnPageChangeListener()

EDIT : I already know about mViewPager.setOnPageChangeListener() .

    OnPageChangeListener mOnPageChangeListener = new ViewPager.OnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
        // this method can be called before the fragment 's onCreateView()
        }

        ....
    };

但是,当该片段还未被创建的危险。管理无论是在Activty片段已经建立或不击败它的purepose。

But there is a danger when the fragment has not been created yet . Managing whether the fragment has been created or not in the Activty defeats the purepose of it.

推荐答案

您只需使用:

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指数)

这篇关于更新FragmentPagerAdapter当前片段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆