android - Viewpager 适配器在 instantiateItem 处同时加载位置 0 和 1
问题描述
我有一个传递给 ViewPager 适配器的项目的 Arraylist。我在处理数据时遇到了问题,因为在适配器的
public Object instantiateItem(@NonNull ViewGroup container, int position)
,位置 0 和 1 在 ViewPager 切换到第二页之前同时加载。
这是典型的还是我错过了什么?
调用适配器时加载 Arraylist,即
mPhotoAdapter = new PhotoAdapter(mPhotos, this, this);
解决方案
是的,这很典型。ViewPager
即使您没有滑入另一个页面,也会加载另一个页面。根据文档ViewPager
,至少需要 1 个屏幕外页面。这意味着将至少加载一个额外的页面。ViewPager
您可以通过在实例中调用此方法来更改屏幕外页面限制:
setOffscreenPageLimit (int limit)
推荐阅读
- postgresql - Spring Boot 应用程序对 postgres 执行大量 SET application_name 查询
- android - 获取错误 Button.setOnclicklistener(this);
- django - 如何在 gunicorn_config 文件中给出子域的地址
- pine-script - 如何检查先前柱的范围以了解情况
- sql-server - 在 BIML 中使用 Oracle Source 和 Attunity
- c - 我不确定为什么我的嵌套 while 循环在第一次迭代后停止
- oracle - Oracle SQL Query,用于拆分,处理和计算列中值的函数?
- android - 我无法解决颤动闪屏中的尺寸问题
- haskell - VSCode 中 Haskell 语言服务器的异常行为
- c++ - 调用隐式删除的类错误的复制构造函数