2014-02-02 5 views
0

я использую GridView, и имеют проблемы с дублированием зрения это находится в сетке, я получаю изображения из Facebook API, а затем асинхронно загрузки изображения в ImageViewAndroid GridView случайные дублирующие элементы

Update: Для Asyncronus изображения Загрузка источника я получаю от BitmapFun в Android Tutorials

GalleryAdapter.java

private class ImageAdapter extends BaseAdapter{ 

     private final Context mContext; 
     private List<String> mPhotos = new ArrayList<String>(); 

     public ImageAdapter(Context context){ 
      super(); 
      mContext = context; 
     } 

     public void setPhotos(String... url){ 
      mPhotos = Arrays.asList(url); 
      notifyDataSetChanged(); 
     } 

     public void setPhotos(List<String> url){ 
      mPhotos = url; 
      notifyDataSetChanged(); 
     } 

     @Override 
     public int getCount() { 
      return mPhotos.size(); 
     } 

     @Override 
     public String getItem(int position) { 
      return mPhotos.get(position); 
     } 

     @Override 
     public long getItemId(int position) { 
      return getItem(position).hashCode(); 
     } 

     @Override 
     public int getViewTypeCount() { 
      return getCount() + 1; 
     } 

     @Override 
     public int getItemViewType(int position) { 
      return position; 
     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      ImageView imageView = (ImageView) convertView; 
      if(imageView == null){ 
       imageView = new RecyclingImageView(mContext); 
       imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
       imageView.setLayoutParams(new AbsListView.LayoutParams(150, 150)); 
      } 

      mImageFetcher.loadImage(getItem(position), imageView); 
      return imageView; 
     } 
    } 

duplicated imageduplicated image

Обновление: Для Asyncronus источника изображения Загрузка я получаю от BitmapFun в Android Tutorials

+0

URL-адреса, которые вы используете в своем адаптере, уникальны для каждой фотографии? если это так, простое сравнение строк удалит дубликаты и выполнит задание. – Abdelwahed

+0

Вы используете универсальный загрузчик изображений? – NullPointerException

+0

все url's, которые я получаю, являются uniques –

ответ

0

Постарайся ловли растровых изображений, как описано here. Установив в кеш памяти, вы будете выполнять свою работу.

В качестве альтернативы вы можете получить Universal image loader, это будет ловить вас. Вам просто нужно передать URL-адрес изображения на изображение.

+0

. Я изучаюсь в учебнике и использую его загрузчик изображений, и это дубликаты –

+0

Ну, у вас может быть несколько вариантов загрузки изображений, таких как Android Smart Image View http://loopj.com/android-smart-image-view/, square picasso https://github.com/square/picasso u can попробуй – NullPointerException

Смежные вопросы