2016-08-10 9 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 dialog = new ProgressDialog(ShowMessage.this); 
dialog.setMessage("Loading Image"); 
dialog.show(); 

と処理後ダイアログを閉じあたりとして

 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

使用ダイアログが

dialog.dismiss(); 
関連する問題