2016-02-28 2 views
0

Я использую шаблон picasso и viewholder для загрузки изображений в моем gridview, однако gridview не загружается достаточно гладко, когда я прокручиваю. Как я могу достичь этого, когда я просматриваю сетку, только сначала загружает заполнители, и когда каждое изображение загружается на данной «странице», gridview показывает изображения один за другим, чтобы с небольшой задержкой. Есть ли лучший инструмент, а затем пикассо для этого? Я искал решение, но я не смог найти его.Как загружать изображения в gridview с небольшой задержкой на свитке?

ответ

0

Не уверен, что можно подождать, пока каждое изображение не будет загружено на заданную страницу. Однако в одном из моих «домашних» проектов я реализовал логику, которая - показывает местозаполнитель и когда изображение загружается, показывает фактическое изображение (однако НЕ, когда ВСЕ изображения на странице, оно работает с каждым изображением отдельно). Для загрузки изображений с Пикассо я использовал следующий код:

private def prepareImageView(image: ImageView, 
          course: Course) = { 
    Picasso.`with`(context).cancelTag(image) 
    image.setImageResource(R.drawable.img_session_placeholder) 
    Picasso.`with`(context) 
     .load(course.imgUri) 
     .tag(image) 
     .into(new Target { 

      override def onBitmapFailed(errorDrawable: Drawable): Unit = {} 

      override def onPrepareLoad(placeHolderDrawable: Drawable): Unit = {} 

      override def onBitmapLoaded(bitmap: Bitmap, from: LoadedFrom): Unit = { 
       image.setImageBitmap(bitmap) 
       image.invalidate 
      } 
    } 
} 

код в Scala, однако я не думаю, что будет никаких проблем, чтобы преобразовать его в Java. Сначала я устанавливаю образ заполнителя в imageView, чтобы пользователь увидел местозаполнитель (R.drawable.img_session_placeholder), позже Picasso обновит его с реальным изображением сразу после его загрузки. Также не забудьте отменить любую текущую загрузку изображения, связанную с текущим ImageView.

Это решение обеспечивает быструю прокрутку (поскольку используется местный заполнитель). Однако, если прокрутка не работает быстро, возможно, есть и другие проблемы в логике, которая строит каждое представление.

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