Android 使用viewpager填充列表
我在用viewpager填充列表时遇到问题。该列表是一个recyclerview。当我滑到下一页时,“getItem()”方法正在创建列表的一个新片段,该页面将由该片段组成。我在创建新片段时发送一个int,让它知道要填充什么。我的问题是,当我滑动到下一页的第一页时,它与应用程序加载的第一页相同。其余的页面按它应该的方式工作。我不确定问题是什么,也不确定是哪部分代码导致了问题Android 使用viewpager填充列表,android,android-fragments,Android,Android Fragments,我在用viewpager填充列表时遇到问题。该列表是一个recyclerview。当我滑到下一页时,“getItem()”方法正在创建列表的一个新片段,该页面将由该片段组成。我在创建新片段时发送一个int,让它知道要填充什么。我的问题是,当我滑动到下一页的第一页时,它与应用程序加载的第一页相同。其余的页面按它应该的方式工作。我不确定问题是什么,也不确定是哪部分代码导致了问题 private class ScreenSlidePagerAdapter extends FragmentPagerAd
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在启动时一次填充两个页面(其中一个加载到屏幕外)。我现在用fragmentclass中的if语句修复了这一问题,因此它在第一页和第二页加载不同的数据。每次都传递相同的数据,这就是为什么它们是相同的。每一页的LPageMonth是不同的。我没有把它贴在这里,因为它会很大。除第2页外,它正常工作。第1页和第3页+正常工作,没有看到您设置pageMonth的代码,我们可能很难相信您的这一点!如果你有兴趣看这个,现在添加。