Mon application jette souvent exception comme ci-dessous:jette souvent exception android.view.WindowLeaked -
E/WindowManager (6282): android.view.WindowLeaked: Activité com.myActivity a fui la fenêtre [email protected] que a été initialement ajouté ici
L'application affiche une boîte de dialogue de progression lorsque l'activité principale démarre et commence une tâche. Lorsque la tâche est terminée, le dialogue de progression est ignoré.
Mon code est comme ci-dessous. Est-ce que quelqu'un peut m'aider?
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);
}
}
}
La plupart du temps, l'exception a été levée à partir de l'appel showDialog(). L'autre fois, l'exception a été levée à partir de l'appel de rejectDialog().
Merci d'avance!