我在使用viewpager填充列表时遇到问题。该列表是回收者视图。当我滑到下一页时," getItem()"方法是创建页面将包含的列表的新片段。我在创建新片段时发送一个int,让它知道要填充什么。我的问题是,当我滑到第一页的下一页时,它与加载应用程序的第一页相同。其余页面可以正常工作。我不确定问题是什么,以及代码的哪一部分导致问题。
private class ScreenSlidePagerAdapter extends FragmentPagerAdapter {
public ScreenSlidePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Bundle args = new Bundle();
args.putInt("mnd",pageMonth);
System.out.println("Pagemonth: " + pageMonth);
CourseListFragment cf = new CourseListFragment();
cf.setArguments(args);
return cf;
}
编辑:这是每个页面的pageMonth更改方式。 currentMonth只是一个变量,它保存了哪个月
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
int mnd = position + currentMonth;
if (mnd > 11) mnd -= 12;
pageMonth = mnd;
编辑:只需阅读viewpager在启动时一次填充两个页面(一个在屏幕外加载)。我现在用片段类中的if语句修复了这个问题,因此它为第一页和第二页加载了不同的内容。