Java 当我在ViewPager中设置CurrentItem时,ViewPager会加载5页的数据,为什么?

Java 当我在ViewPager中设置CurrentItem时,ViewPager会加载5页的数据,为什么?,java,android,android-viewpager,Java,Android,Android Viewpager,ViewPager默认为一个页面,该页面应通过方法setOffscreenPageLimit()。保留在视图层次结构中当前页面的任一侧,但当我设置CurrentItem时,它仍然加载两个首页的数据,这意味着它请求5页的数据。如何避免这种情况,只需加载3页的数据 FragmentPagerAdapter adapter = new WorksFragmentAdapter(getSupportFragmentManager(),ids); viewPager.setAdapter(adapter)

ViewPager默认为一个页面,该页面应通过方法
setOffscreenPageLimit()。
保留在视图层次结构中当前页面的任一侧,但当我设置CurrentItem时,它仍然加载两个首页的数据,这意味着它请求5页的数据。如何避免这种情况,只需加载3页的数据

FragmentPagerAdapter adapter = new WorksFragmentAdapter(getSupportFragmentManager(),ids);
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(currentItem);

尝试覆盖片段中的
setUserVisibleHint
,并在其中加载数据

这是一个适合我的样品

public class ViewPagerFragmentSample extends ListFragment{
    ...  
    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) {
            new AsyncListViewLoader().execute(); //Replace with your method
        }
    }
    ...
}

希望这有帮助

您在片段中请求什么数据,外部json?谢谢您的回答。但它就像一个懒惰的加载片段,急切的加载被忽略了。