2013-08-28 15 views
11

Próbowałem zintegrować pasek postępu w aplikacji app.but nie mogłem śledzić metody oddzwaniania. Pasek postępu zawsze się wyświetla. Jak ukryć, gdy obraz zostanie złożony?nie można ukryć paska postępu po załadowaniu obrazu w picasso?

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); 
    } 
}); 

Odpowiedz

3

końcu naprawiłem it.There był to błąd w Picasso 2.0.0 beta.used oficjalnej biblioteki

+1

Uwaga: Callback param jest silne odniesienia i uniemożliwi zbieranie plików 'android.app.Activity' lub' android.app.Fragment'. Jeśli użyjesz tej metody, zdecydowanie zaleca się wywołanie sąsiedniego wywołania 'Picasso.cancelRequest (ImageView)', aby zapobiec tymczasowemu wyciekowi. –

+1

@Jabbar_Jigariyo jak nazywasz 'Picasso.cancelRequest (ImageView)' w adapterze? nie jest to ręcznie przetwarzane przez 'getView()' na 'BaseAdapter'? – chip

+0

Czy masz jakieś wiadomości na ten temat? czy dostałeś jakiś cieknący problem ...? –

0

Spróbuj użyć VIEW.GONE zamiast VIEW.INVISIBLE

Powiązane problemy