如何在项目出现之前使用android中的毕加索为项目加载图像?

时间:2019-05-23 09:51:33

标签: android android-recyclerview picasso

我有一个回收站视图,其中每个项目都有一张毕加索加载的图像。

当我在毕加索加载图像之前滚动回收器视图时,我会显示一个占位符,但在大多数情况下,毕加索会变慢并且会出现占位符。

请注意,我将图像加载到onBindViewHolder中,并且想要在大多数情况下不显示占位符的方式之前加载图像。

public void onBindViewHolder(...){
    Picasso.with(context)
    .load(url)
    ...
}

1 个答案:

答案 0 :(得分:0)

不会为您的所有项目调用BindViewHolder,在您的活动中循环遍历所有列表项目,然后调用上述代码。

for (int i=0;i<list.size();i++) { // here I assumed that list is an ArrayList having all URLs.
 Picasso.with(context).load(list.get(i).url).into(imageView); // here imageview is an empty Imageview with zero width and height.
}

上面的代码将加载所有图像并将其保存到缓存中,当您调用适配器onBindView时,它将从缓存中加载图像。