我试图在将图像从 url 获取到 imageview 时显示 progressDialog。当试图显示progressDialog时,父活动已经泄漏了窗口......
奇怪的是我在这个活动中有两个片段,在第一个片段中调用progressdialog的方式完全相同,但是当片段被替换并且我尝试再次让它崩溃时。
这是我在崩溃的第二个片段中使用的异步任务:
class SkinPreviewImage extends AsyncTask<Void, Void, Void> {
private ProgressDialog progressDialog;
@Override
protected void onPreExecute() {
progressDialog = new ProgressDialog(getActivity());
progressDialog.setMessage("Loading preview...");
if(progressDialog != null) progressDialog.show();
progressDialog.setOnCancelListener(new OnCancelListener() {
public void onCancel(DialogInterface arg0) {
SkinPreviewImage.this.cancel(true);
}
});
}
@Override
protected Void doInBackground(Void... params) {
try {
URL newurl = new URL(url);
Bitmap mIcon_val = BitmapFactory.decodeStream(newurl.openConnection().getInputStream());
skinPreview.setImageBitmap(mIcon_val);
} catch (IOException e) {
Log.e("SkinStoreDetail", e.getMessage());
}
return null;
}
@Override
protected void onPostExecute(Void v) {
if(progressDialog != null) progressDialog.dismiss();
}
}
我已经看到了一些类似的问题,但最接近解决我的问题的一个为我没有使用的父母使用了 groupactivity。
有什么建议么?