我使用通用图像加载程序库来显示图像。 我的问题是我有一个图像加载的进度条,意味着除非和直到图像无法加载进度条显示, 但是加载图像时仍会显示进度条。
以下是我的代码
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 :(得分: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();
}
});
答案 1 :(得分:0)
您需要明确驳回Progressbar
。例如,在您的代码中,您可以执行以下操作:
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
//dismissing the progressbar dialog
spinner.dismiss();
}
尝试一下,让我们知道这是否有效。
答案 2 :(得分:0)
按照以下使用对话框
ProgressDialog dialog = new ProgressDialog(ShowMessage.this);
dialog.setMessage("Loading Image");
dialog.show();
并在流程添加后关闭对话框
dialog.dismiss();