我想在Picasso中检索图像以供日后使用并保存在缓存中,此时我使用此代码:
for(int i=0; i<urlList.size(); i++) {
Picasso.with(getActivity())
.load(url.get(i))
.fetch();
}
但我想按顺序检索它们。什么是最好的?
答案 0 :(得分:0)
您可以将图片加载到Target
,如果您有一个网址数组,则可以从Target
递归加载它们。
执行此操作的示例活动:
public class MainActivity extends ActionBarActivity{
private ArrayList<String> urls;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
urls = new ArrayList<>();
urls.add("http://placehold.it/300&text=0");
urls.add("http://placehold.it/300&text=1");
urls.add("http://placehold.it/300&text=2");
urls.add("http://placehold.it/300&text=3");
urls.add("http://placehold.it/300&text=4");
loadImages(0);
}
private void loadImages(final int index){
Target t = new Target(){
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from){
Log.w("image", "image received" + index);
loadImages(index + 1);
}
@Override
public void onBitmapFailed(Drawable errorDrawable){
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable){
}
};
if(index < urls.size())
Picasso.with(this)
.load(urls.get(index))
.into(t);
}
}