我正在从 URL 加载图像视图,并希望在等待图像加载时显示进度对话框,当我运行应用程序时,porgress 对话框出现半秒钟然后消失,与状态无关图片。如何才能使进度对话框仅在加载图像后才消失?
下面是我的代码
//below is the download image task****************************************
private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;
public DownloadImageTask(ImageView bmImage) {
this.bmImage = bmImage;
}
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}
// above is the download imagetask ****************************************************
public class MyTask extends AsyncTask<Void, Void, Void> {
private ProgressDialog progress;
public MyTask(ProgressDialog progress) {
this.progress = progress;
}
public void onPreExecute() {
progress.show();
}
public void onPostExecute(Void unused) {
progress.dismiss();
}
@Override
protected Void doInBackground(Void... params) {
new DownloadImageTask((ImageView) findViewById(R.id.ivget))
.execute("http://dieboltdesigns.files.wordpress.com/2011/07/tom-brady-beast-poster-copy.png");
//above makes the progress bar
return null;
}
}
如果您需要 doinbackgound 方法/异步任务,请在评论中告诉我
谢谢