通過 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);
}
});
將初始化代碼放在了點擊事件回調的外面,就哦了。
參考