Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用viewpager填充列表_Android_Android Fragments - Fatal编程技术网

Android 使用viewpager填充列表

Android 使用viewpager填充列表,android,android-fragments,Android,Android Fragments,我在用viewpager填充列表时遇到问题。该列表是一个recyclerview。当我滑到下一页时,“getItem()”方法正在创建列表的一个新片段,该页面将由该片段组成。我在创建新片段时发送一个int,让它知道要填充什么。我的问题是,当我滑动到下一页的第一页时,它与应用程序加载的第一页相同。其余的页面按它应该的方式工作。我不确定问题是什么,也不确定是哪部分代码导致了问题 private class ScreenSlidePagerAdapter extends FragmentPagerAd

我在用viewpager填充列表时遇到问题。该列表是一个recyclerview。当我滑到下一页时,“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在启动时一次填充两个页面(其中一个加载到屏幕外)。我现在用fragmentclass中的if语句修复了这一问题,因此它在第一页和第二页加载不同的数据。

每次都传递相同的数据,这就是为什么它们是相同的。每一页的LPageMonth是不同的。我没有把它贴在这里,因为它会很大。除第2页外,它正常工作。第1页和第3页+正常工作,没有看到您设置pageMonth的代码,我们可能很难相信您的这一点!如果你有兴趣看这个,现在添加。