2015-09-03 18 views
5

Ich benutze Picasso zum Abrufen von Bildern vom Server und Anzeigen in Viewpager, aber ich bekomme einige seltsame Art von Fehler, einige meiner Bilder werden nicht angezeigt, wenn ich Bild statisch geladen werde sie zeigen aber, wenn Bilder vom Server geladen werden einige von ihnen verschwunden, vor allem, nachdem 3.Android: Picasso lädt einige Bilder nicht

Hier ist meine 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) { 

     } 
    }); 

} 

Antwort

0

ich endlich gefunden Lösung, Picasso hat ein Problem, dass Es verwendet Lazy Loading zum Abrufen von Bildern, da ich Bilder asynchron geladen habe Vor der Anzeige können nicht alle Bilder geladen werden.

Lösung :: Mit UIL (Universal Bild Loader), gelöst mein Problem

+0

Ich verstehe nicht, Ihren Standpunkt noch Ihre Lösung: S – russellhoff

+0

sehen tinyowl App in Google Play Store und Image Slider auf Homepage sehen, du wirst es besser verstehen – Ravi

Verwandte Themen