Ứng dụng của tôi thường xuyên ném ngoại lệ như dưới đây:Ứng dụng của tôi thường xuyên ném ngoại lệ android.view.WindowLeaked -
E/Chương trình quản lý cửa sổ X (6282): android.view.WindowLeaked: Hoạt động com.myActivity đã bị rò rỉ cửa sổ [email protected] rằng ban đầu được thêm vào ở đây
ứng dụng cho thấy một hộp thoại tiến bộ khi chính bắt đầu hoạt động và bắt đầu một nhiệm vụ. Khi công việc được thực hiện, nó sẽ bỏ qua hộp thoại tiến trình.
Mã của tôi giống như dưới đây. Ai đó có thể giúp tôi?
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);
}
}
}
Hầu hết thời gian, ngoại lệ được gửi từ cuộc gọi showDialog(). Lần khác, ngoại lệ được ném từ cuộc gọi dismissDialog().
Cảm ơn bạn trước!