如何取消毕加索对特定视图的请求?
问题描述:
目前我有沿着这如何取消毕加索对特定视图的请求?
public class SomeActivity extends AppCompatActivity
{
public AppCompatImageView myFavPicture;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_some);
myFavPicture = (AppCompatImageView) findViewById(R.id.my_fav_picture);
}
public void setPictureToRed()
{
myFavPicture.setImageResource(R.color.red);
}
public void setPictureToLink(Uri link)
{
Picasso.with(this).load(link).into(myFavPicture);
}
}
我现在有问题的东西线是关于setPictureToRed
和setPictureToLink
如果我打电话setPictureToLink(someLink)
然后前立即拨打setPictureToRed
间的竞争条件之一的忧虑毕加索可以完全加载图像 - 恐怕毕加索会稍后回来并覆盖红色图片(这不是我想要的)
是否有某种方法可以做到这样的事情?
public void setPictureToRed()
{
// flush all previous loads for "myFavPicture" to avoid race conditions
Picasso.with(this).flush(myFavPicture);
myFavPicture.setImageResource(R.color.red);
}
答
Picasso.with(this).cancelRequest(myFavPicture);
myFavPicture.setImageDrawable(null);
myFavPicture.setImageResource(R.color.red);
'图像= myFavPicture'? – AlanSTACK
是的,我编辑我的答案... plz检查。祝你好运.. – 2017-10-29 04:25:59
为什么我需要'setImageDrawable(null)'当我可以做'setImageResource(R.color.red)'? – AlanSTACK