2015-09-03 17 views
5

Używam Picassa do pobierania obrazów z serwera i wyświetlania w viewpager, ale dostaję jakiś dziwny błąd, niektóre z moich obrazów nie są pokazywane, gdy ładuję obraz statycznie oni pokazują jednak, gdy obrazy są ładowane z serwera niektóre z nich coraz zniknął, zwłaszcza po 3.Android: Picasso nie ładuje niektórych obrazów

Oto moja 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) { 

     } 
    }); 

} 

Odpowiedz

0

końcu znalazłem rozwiązanie, Picasso ma wątpliwości, że używa on leniwego ładowania do pobierania obrazów, ponieważ ładuję obrazy asynchron Przed wyświetleniem nie można załadować wszystkich obrazów.

Rozwiązanie :: Korzystanie UIL (Universal Loader obraz), rozwiązał wszystkie moje problemy

+0

Nie rozumiem twój punkt widzenia, ani swoje rozwiązanie: S – russellhoff

+0

zobaczyć app tinyowl w sklepie Google Play i zobaczyć suwak obrazu na stronie głównej, zrozumiesz to lepiej – Ravi