在Listview上加载下一组图像

时间:2014-08-20 07:30:56

标签: android listview caching android-listview picasso

我正在使用Picasso进行图片下载,并在Imageview On Request上设置Listview但现在我想加载下一组图片并对其进行缓存,以便用户感到方便查看图片当下一组列表项并避免列表项上的任何类型的加载器。所以,请让我知道任何方式来解决这个问题或任何解决方案。

E.g在Listview上的ImageLoading(Thumb_arr包含图像URI)。

Picasso.with(context).load(Thumb_Arr.get(pos).toString()).fit().into(holder.res_img_thumb);

1 个答案:

答案 0 :(得分:0)

所以你想在你的适配器之前预先加载图像? 我认为可以随意拨打毕加索的次数。

只需为要预加载的每个图像调用此方法:

Picasso.with(context).load(Thumb_Arr.get(pos).toString()).fit().into(new Target() {
        @Override
        public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {

        }

        @Override
        public void onBitmapFailed(Drawable errorDrawable) {

        }

        @Override
        public void onPrepareLoad(Drawable placeHolderDrawable) {

        }
    });

就像那样,Picasso应该将图像缓存在内存或磁盘上,所以当你的适配器调用时

Picasso.with(context).load(Thumb_Arr.get(pos).toString()).fit().into(holder.res_img_thumb);

毕加索会把它放在缓存中。

但是您应该实现OnScrollListener并将其链接到ListView,您将知道当前可见的项目并避免在这些位置上预加载图像。