通过 Picasso下载图片到本地,遇到了问题,点击按钮第一次下载无效,第二次之后,开始成功。
google了一下,
picasso target not working
picasso onBitmapLoaded of Target object not called on first load
通过搜索结果,并没有找到合适的解决办法,但是通过解释,可以大概了解到一些原理性的东西。自己解决了,记录一下以便以后回忆起来,什么都不记得了。
有问题的代码:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Target target = new MyTarget();
Picasso.with(getApplicationContext())
.load(url)
.into(target);
}
});
解决后的代码:
final Target target = new MyTarget();
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Picasso.with(getApplicationContext())
.load(url)
.into(target);
}
});
将初始化代码放在了点击事件回调的外面,就哦了。
参考