滑动后如何在每个页面中加载新内容(使用Android中的PageAdapter)

时间:2019-02-03 13:12:25

标签: android fragmentstatepageradapter

我正在尝试编写一个PageAdapter,它将在每次滑动后加载下一页(无论朝哪个方向)。每次滑动后,应显示新内容。

我尝试了3页的PageAdapter。起始页面是页面2。向右或向左滑动后,将显示相应的页面,然后直接从第二个页面开始直接叠加。

为此,应在第1页和第3页上加载相同的内容。一旦第2页与另一页重叠,则也应在其上显示该内容;在第1页和第2页上,应加载下一个内容在后台。

所以我的问题是,如果我有FragmentStatePagerAdapter,如何在每次滑动后分别更新每个页面的内容?

->页面过渡(在我的MainActivity中):

new ViewPager.OnPageChangeListener() {
    public void onPageSelected(final int position) {
        currentPosition = position;
        if(position==2||position==0){
            viewPager.setCurrentItem(1, false);
        }
    }
    private void handleSetNextItem() {
        final int lastPosition = viewPager.getAdapter().getCount() - 1;
        if(currentPosition == 0) {
            viewPager.setCurrentItem(1, false);
        } else if(currentPosition == lastPosition) {
            viewPager.setCurrentItem(1, false);
        }
    }
   ...
}

-> FragmentStatePagerAdapter的一部分(在我的PageAdapter中):

public class PageAdapter extends FragmentStatePagerAdapter {

    @Override
    public Fragment getItem(int position) {
        Page page =new Page();
        return page;
    }
    ...
}

滑动不是问题,但是我不知道如何更新每个页面的内容。

感谢您的帮助(请原谅我可怜的英语...)

0 个答案:

没有答案