我正在使用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);
//http://stackoverflow.com/questions/21368693/how-to-do-circular-scrolling-on-viewpager
((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) {
}
});
}
答案 0 :(得分:0)
我终于找到了解决方案,Picasso有一个问题,它使用延迟加载来获取图像,因为我在显示之前异步加载图像,它无法加载所有图像。
解决方案::使用UIL(通用图像加载器),解决了我的所有问题