android - ViewPager setCurrentItem(n, false) 多次调用 instantiateItem - Android

标签 android android-viewpager

我有一个 ViewPager,其中每个页面显示使用 UniversalImageLoader 和图像 URL 加载全屏图像。

我正在使用 viewPager.setCurrentItem(n, false) 将 ViewPager 打开到任何图像,而不总是第一张图像。

问题是,当我调用 viewPager.setCurrentItem(n, false) 时,它会调用 instantiateItem (n+1) 次并且通用图像加载器会加载所有这些(n+1) 张图片,这对我来说效率很低。

我希望我的 ViewPager 将当前项目设置为 (n) 并且只实例化前面和后面的页面。可能吗?

最佳答案

试试这个:

yourViewPager.setOffscreenPageLimit(1);

然后您的 View 寻呼机只加载 (n-1) 、 (n) 和 (n+1) 页。\ 此外,如果您在 View 寻呼机中使用 fragment ,您可以通过类似这样的方式强制它加载 fragment #n:

public class MyFragment extends Fragment {
  @Override
  public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isVisibleToUser) {
        //Load your image
      }
        else {  }
      }
    }

关于android - ViewPager setCurrentItem(n, false) 多次调用 instantiateItem - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37590749/

相关文章:

android - Activity 中的多个 ViewPagers

java - 当 TextView 在 fragment 内的 onLocationChanged 内更改时应用程序崩溃

android - 是什么导致此错误 : "SDK component at air/android/device/Runtime.apk is out of date"

Android Google map ,具有不同颜色的多条折线

android - 什么是 gradle wrapper 和 gradlew.bat 文件?

java - recyclerview 中的 ViewPager

android - 新的 Android Lollipop 日历应用程序的源代码

android - SSL 代理适用于除一个以外的所有应用程序

android - setUserVisibleHint 方法在 onCreateView 方法之前调用,并且在第一次加载时不起作用

android - 在 ViewPager 中实现弹性/弹跳动画效果的最佳方法是什么?