Viewpager 适配器在 instantiateItem 同时加载位置 0 和 1

Viewpager adapter loads position 0 & 1 at the same time at instantiateItem

我有一个传递给 ViewPager 适配器的项目列表。我在处理数据时遇到问题,因为在适配器的

public Object instantiateItem(@NonNull ViewGroup container, int position), 在 ViewPager 切换到第二页之前同时加载位置 0 和 1。

这是典型的还是我遗漏了什么?。

Arraylist 在调用适配器时加载,即

mPhotoAdapter = new PhotoAdapter(mPhotos, this, this);

是的,这很典型。 ViewPager 加载另一个页面,即使您没有滑动到另一个页面。根据文档 ViewPager 至少需要 1 个屏幕外页面。这意味着至少会加载一个额外的页面。您可以通过在 ViewPager 实例中调用此方法来更改屏幕外页面限制:

setOffscreenPageLimit (int limit)