2013-08-28 18 views
11

Stavo cercando di integrare la barra di avanzamento in ma app.but non riuscivo a tenere traccia del metodo di richiamata.la barra di avanzamento mostrava sempre.come nascondere quando l'immagine è alloggiata?non è possibile nascondere la barra di avanzamento dopo aver caricato l'immagine in 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); 
    } 
}); 

risposta

3

Infine ho fissato it.There era un bug in una libreria ufficiale Picasso 2.0.0 beta.used

+1

Nota: Il param Callback è un riferimento forte e impedirà il tuo 'android.app.Activity' o' android.app.Fragment' dall'essere garbage collection. Se si utilizza questo metodo, si consiglia vivamente di richiamare una chiamata adiacente 'Picasso.cancelRequest (ImageView)' per evitare perdite temporanee. –

+1

@Jabbar_Jigariyo come si chiama 'Picasso.cancelRequest (ImageView)' in un adattatore? non è riciclato manualmente da 'getView()' su 'BaseAdapter'? – chip

+0

Avete notizie su questo argomento? hai avuto qualche problema di perdite ...? –

0

Provate ad usare VIEW.GONE invece di VIEW.INVISIBLE

Problemi correlati