Мое приложение часто выдает исключение, как показано ниже:
E/WindowManager (6282): android.view.WindowLeaked: Activity com.myActivity просочилось окно [email protected], что был первоначально добавлен здесь
Приложение отображает диалог прогресса, когда начинается основное действие и запускается задача. Когда задача будет выполнена, она отклонит диалог выполнения.
Мой код выглядит следующим образом. Кто-нибудь может мне помочь?
public class MyActivity extends Activity {
private static int ID_DIALOG_PROGRESS = 2001;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_activity);
showDialog(ID_DIALOG_PROGRESS);
new MyTask().execute(null, null, null);
}
@Override
protected Dialog onCreateDialog(int id) {
if (id == ID_DIALOG_PROGRESS) {
ProgressDialog loadingDialog = new ProgressDialog(this);
loadingDialog.setTitle("");
loadingDialog.setMessage("");
loadingDialog.setIndeterminate(true);
loadingDialog.setCancelable(false);
return loadingDialog;
}
return super.onCreateDialog(id);
}
private class MyTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... arg0) {
/* Do something expensive here...*/
/* Start other activity*/
Intent intent = new Intent(MyActivity.this, OtherActivity.class);
startActivityForResult(intent, 1000);
}
return null;
}
protected void onPostExecute(Void arg0) {
dismissDialog(ID_DIALOG_PROGRESS);
}
}
}
В большинстве случаев исключение было вызвано вызовом showDialog(). В другой раз это исключение было вызвано вызовом rejectDialog().
Заранее благодарю вас!