Ich habe versucht, Fortschrittsbalken in eine App zu integrieren, aber ich konnte die Rückrufmethode nicht verfolgen. Der Fortschrittsbalken wird immer angezeigt. Wie ausgeblendet werden, wenn das Bild geladen wird?konnte die Fortschrittsbalken nach dem Laden Bild in Picasso nicht ausblenden?
holder.imageView = (ImageView) localView.findViewById(R.id.imageView1);
holder.progressBar = (ProgressBar) localView.findViewWithTag(R.id.progressBar1);
localView.setTag(holder);
url = getItem(paramInt);
Picasso.with(getApplicationContext())
.load(url)
.placeholder(R.drawable.ic_launcher)
.error(R.drawable.ic_launcher)
.fit()
.into(holder.imageView, new Callback() {
@Override
public void onSuccess() {
holder.imageView.setVisibility(View.VISIBLE);
holder.progressBar.setVisibility(View.INVISIBLE);
}
@Override
public void onError() {
holder.progressBar.setVisibility(View.VISIBLE);
holder.imageView.setVisibility(View.INVISIBLE);
}
});
Achtung: Der Callback-param ist eine starke Referenz und verhindert, dass Ihre Dateien "android.app.Activity" oder "android.app.Fragment" als Garbage Collections erfasst werden. Wenn Sie diese Methode verwenden, wird dringend empfohlen, dass Sie einen benachbarten 'Picasso.cancelRequest (ImageView)' Aufruf aufrufen, um temporäres Lecken zu verhindern. –
@Jabbar_Jigariyo Wie nennt man 'Picasso.cancelRequest (ImageView)' in einem Adapter? wird dies nicht manuell von der 'getView()' auf dem 'BaseAdapter' wiederverwendet? – chip
Haben Sie Neuigkeiten zu diesem Thema? Hast du irgendein undichtes Problem ...? –