Android : Picasso 没有加载一些图像

Android : Picasso is not loading some images

我正在使用 Picasso 从服务器获取图像并在 viewpager 中显示,但是我遇到了一些奇怪的错误,我的一些图像没有显示,当我静态加载图像时它们显示但是当图像正在从服务器加载,其中一些消失了,尤其是在 3 之后。

这是我的ViewPagerAdapter.java:

public Object instantiateItem(final ViewGroup container, int position) {

    layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View itemView = layoutInflater.inflate(R.layout.viewpager_item, container, false);
    /**
     * Loading the image view
     */
    // Locate the ImageView in viewpager_item.xml
    ImageView sliderItem = (ImageView) itemView.findViewById(R.id.viewpagerImageView1);

    // Capture position and set to the ImageView
  /*  if(requestCreatorListIterator.hasNext()) {
        requestCreatorListIterator.next().into(sliderItem);
    }*/
    slider[position].into(sliderItem);
    //sliderItem.setImageResource(slider[position]);

    // Add viewpager_item.xml to ViewPager
    ((ViewPager) container).addView(itemView);

    //
    ((ViewPager) container).addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {
            // skip fake page (first), go to last page
            if (position == 0) {
                ((ViewPager) container).setCurrentItem(slider.length - 2);
            }

            // skip fake page (last), go to first page
            if (position == slider.length - 1) {
                ((ViewPager) container).setCurrentItem(1); //notice how this jumps to position 1, and not position 0. Position 0 is the fake page!
            }
        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });

}

终于找到解决办法了,Picasso 有一个问题,它使用延迟加载来获取图像,因为我在显示之前异步加载图像,所以无法加载所有图像。

解决方案 :: 使用 UIL (Universal Image Loader),解决了我所有的问题