这个错误是什么,为什么会发生?
05-17 18:24:57.069: ERROR/WindowManager(18850): Activity com.mypkg.myP has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@44c46ff0 that was originally added here
05-17 18:24:57.069: ERROR/WindowManager(18850): android.view.WindowLeaked: Activity ccom.mypkg.myP has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@44c46ff0 that was originally added here
05-17 18:24:57.069: ERROR/WindowManager(18850): at android.view.ViewRoot.<init>(ViewRoot.java:231)
05-17 18:24:57.069: ERROR/WindowManager(18850): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
05-17 18:24:57.069: ERROR/WindowManager(18850): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
05-17 18:24:57.069: ERROR/WindowManager(18850): at android.view.Window$LocalWindowManager.addView(Window.java:424)
05-17 18:24:57.069: ERROR/WindowManager(18850): at android.app.Dialog.show(Dialog.java:239)
05-17 18:24:57.069: ERROR/WindowManager(18850): at com.mypkg.myP$PreparePairingLinkageData.onPreExecute(viewP.java:183)
05-17 18:24:57.069: ERROR/WindowManager(18850): at android.os.AsyncTask.execute(AsyncTask.java:391)
05-17 18:24:57.069: ERROR/WindowManager(18850): at com.mypkg.myP.onCreate(viewP.java:94)
05-17 18:24:57.069: ERROR/WindowManager(18850): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-17 18:24:57.069: ERROR/WindowManager(18850): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2544) …Run Code Online (Sandbox Code Playgroud) 我已经创建了这样的进度对话框
public VolleyService(Context context, VolleyServiceCompletedListener listener){
this.context = context;
pDialog = new ProgressDialog(context);
pDialog.setMessage("Loading...");
pDialog.setCancelable(false);
this.listener = listener;
}
Run Code Online (Sandbox Code Playgroud)
并尝试使用此方法显示进度对话框.
private void showProgressDialog() {
boolean isShowing = pDialog.isShowing();
if (!isShowing)
pDialog.show();
}
Run Code Online (Sandbox Code Playgroud)
并使用此方法隐藏对话框.
private void hideProgressDialog() {
if (pDialog.isShowing()) {
pDialog.hide();
}
}
Run Code Online (Sandbox Code Playgroud)
pDialog.isShowing()即使在我调用之后,问题也会返回true pDialog.hide().当我看到hide()方法时,android.app.Dialog.java他们没有将mShowing变量赋值为false,但是当我调用show()它们时,它们将mShowing变量赋值为true.
那么他们有什么理由不做假的吗?我怎样才能再次打开相同的进度对话框?