需要为ViewPager中的每个片段调用onResume

时间:2015-08-20 03:55:47

标签: android android-fragments android-viewpager android-fragmentactivity

我必须快速解决这个问题,因为在两个小时内我必须将我的项目发送给我的教授。

我有一个fragmentviewpager,片段内有5个片段。 在每个片段中,我都有一个表,它使用json文件和页面位置底部的一些数据进行更新。

我在片段容器中使用此函数获取页面位置,并将其放在static int currentPage:

mPager.setOnPageChangeListener(new OnPageChangeListener() {

    @Override
    public void onPageSelected(int arg0) 
    {
        currentPage=arg0;
    }

    @Override
    public void onPageScrolled(int arg0, float arg1, int arg2) 
    {


    }

    @Override
    public void onPageScrollStateChanged(int arg0) 
    {


    }
});

在fragmentviewpager中的每个片段的onResume内部,我使用currentPage变量获取当前位置。

但是为了做正确的工作,我需要每次当我用滑动更改页面时都可以执行onResume。 我该怎么办?

这是我的fragmentviewpager:

private class ScreenSlidePagerAdapter extends FragmentPagerAdapter 
    {

        // fragments to instantiate in the viewpager
        private List<Fragment> fragments;

        public ScreenSlidePagerAdapter(FragmentManager fm, List<Fragment> fragments) 
        {
            super(fm);
            this.fragments = fragments;
        }

        public void addPage(Fragment page)
        {
            fragments.add(page);
            this.notifyDataSetChanged();
        }

        @Override
        public Fragment getItem(int position) 
        {

            return this.fragments.get(position);
        }

        @Override
        public int getItemPosition(Object object) {
               return POSITION_NONE;
            }

        @Override
        public int getCount() 
        {
            return fragments.size();
        }
    }

如何解决我的问题? 提前谢谢你:)

1 个答案:

答案 0 :(得分:0)

onResume不会在viewpager中一直被调用,你可以在片段中创建一个公共方法,你可以根据位置调用它 此链接将全部使用给您 Getting the current Fragment instance in the viewpager