2016-08-10 2 views
0

이미지를 표시하기 위해 범용 이미지 로더 라이브러리를 사용하고 있습니다. 내 문제는 이미지로드 진행률 막대가 있습니다. 이미지가로드되지 않을 때까지 진행 막대가 표시됩니다. 이미지로드시 진행률 막대가 계속 표시됩니다. 다음이미지가 이미로드 된 경우 ProgressBar가 표시됩니다.

내 코드

내가 위의 코드를 사용했다
final ImageView imageView = ... 
    final ProgressBar spinner = ... 

    imageLoader.displayImage(imageUrl, imageView, options, new SimpleImageLoadingListener() { 
    @Override 
    public void onLoadingStarted(String imageUri, View view) { 
     spinner.setVisibility(View.VISIBLE); 
    } 

    @Override 
    public void onLoadingFailed(String imageUri, View view, FailReason failReason) { 
     spinner.setVisibility(View.GONE); 
    } 

    @Override 
    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { 
     spinner.setVisibility(View.GONE); 
    } 
}); 

이지만, 문제는 이미지가 이미로드되어 표시 될 때 내 스피너가 표시 아직도이다.

왜 이렇게됩니까?

+0

을 추가 아래에 전체 코드 –

+0

를 붙여주십시오 당 확인하시기 바랍니다 onLoadingComplete' 또는'onLoadingFailed'경우 '불렀지? 그들이 호출되는지 확인하여 다른 것이 귀하의 로더를 보이지 않게합니다. – himanshu1496

+0

XML 파일의 progressbar 가시성 확인 – Piyush

답변

0

명시 적으로 Progressbar을 기각해야합니다. 예를 들어, 코드에서 다음과 같이 할 수 있습니다.

@Override 
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { 
    //dismissing the progressbar dialog 
    spinner.dismiss(); 
} 

이 코드가 작동하면 알려주세요.

1

시작시 show(), 완료시 dismiss()과 같이 사용하십시오.

 ProgressDialog progress = new ProgressDialog(this); 
     progress.setMessage("Downloading image "); 
     progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
     progress.setIndeterminate(true); 
     progress.setProgress(0); 

     imageLoader.displayImage(imageUrl, imageView, options, new SimpleImageLoadingListener() { 
      @Override 
      public void onLoadingStarted(String imageUri, View view) { 
       progress.show(); 
      } 

      @Override 
      public void onLoadingFailed(String imageUri, View view, FailReason failReason) { 
       progress.dismiss(); 
      } 

      @Override 
      public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { 
       progress.dismiss(); 
      } 
     }); 
0

를 사용하여 대화로

ProgressDialog dialog = new ProgressDialog(ShowMessage.this); 
dialog.setMessage("Loading Image"); 
dialog.show(); 

및 공정 후 대화 상자를 닫가

dialog.dismiss(); 
관련 문제