Zur Zeit habe ich etwas entlang der Linien dieserWie kann ich Picasso-Anfragen für eine bestimmte Ansicht abbrechen?
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);
}
}
Das Problem, das ich zur Zeit habe, ist die Sorge, dass ein Rennbedingungen zwischen setPictureToRed
über und setPictureToLink
Wenn ich setPictureToLink(someLink)
rufen und rufen Sie dann sofort setPictureToRed
vor Picasso kann das Bild vollständig laden - ich fürchte, dass Picasso später zurückkommt und das rote Bild überschreibt (was ich nicht will)
Gibt es eine Möglichkeit, so etwas zu tun?
public void setPictureToRed()
{
// flush all previous loads for "myFavPicture" to avoid race conditions
Picasso.with(this).flush(myFavPicture);
myFavPicture.setImageResource(R.color.red);
}
'image = myFavPicture'? – AlanSTACK
ja, ich bearbeite meine Antwort ... PLZ überprüfen, dass. Viel Glück .. –
Warum brauche ich 'setImageDrawable (null)' wenn ich tun kann 'setImageResource (R.color.red)'? – AlanSTACK