2013-08-28 3 views
11

나는 애플 리케이션의 진행률 표시 줄을 통합하려했는데 콜백 메서드를 추적 할 수 없었습니다. 진행률 표시 줄은 항상 표시 중입니다. 이미지가 로딩 될 때 숨기려면 어떻게해야합니까? 콜백 PARAM 강한 참조이며 :피카소에서 이미지를로드 한 후 진행 표시 줄을 숨길 수 없습니까?

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

답변

3

마지막으로 내가 있는게은

+1

VIEW.INVISIBLE의 참고를 사용해보십시오 피카소 2.0.0 beta.used 공식 라이브러리의 버그이었다 고정 'android.app.Activity' 또는'android.app.Fragment'가 가비지 수집되는 것을 막을 것입니다. 이 방법을 사용하는 경우 임시 누설을 방지하기 위해 인접한 Picasso.cancelRequest (ImageView) 호출을 사용하는 것이 좋습니다. –

+1

@Jabbar_Jigariyo 어떻게 어댑터에서 Picasso.cancelRequest (ImageView)를 호출합니까? 'BaseAdapter'에서'getView()'에 의해 수동으로 재활용되지 않습니까? – chip

+0

이 주제에 관한 뉴스가 있습니까? 누출 된 문제가 생겼어? –

0

VIEW.GONE 대신

관련 문제