[英]Correctly dismissing progress dialog
我有一个进度对话框,我需要解雇然后完成应用程序。 我这样做的方式是这样的:
new AlertDialog.Builder(MainActivity.this)
.setMessage("There has been a problem.")
.setPositiveButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialog,
int which) {
dialog.dismiss();
finish();
}
}).show();
不过,我总是得到一个着名的错误:
Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@48189240 is not valid; is your activity running?
05-23 16:56:44.573: ERROR/AndroidRuntime(2494): at android.view.ViewRoot.setView(ViewRoot.java:505)
05-23 16:56:44.573: ERROR/AndroidRuntime(2494): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:200)
05-23 16:56:44.573: ERROR/AndroidRuntime(2494): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:114)
05-23 16:56:44.573: ERROR/AndroidRuntime(2494): at android.view.Window$LocalWindowManager.addView(Window.java:424)
05-23 16:56:44.573: ERROR/AndroidRuntime(2494): at android.app.Dialog.show(Dialog.java:241)
05-23 16:56:44.573: ERROR/AndroidRuntime(2494): at android.app.ProgressDialog.show(ProgressDialog.java:107)
05-23 16:56:44.573: ERROR/AndroidRuntime(2494): at android.app.ProgressDialog.show(ProgressDialog.java:90)
05-23 16:56:44.573: ERROR/AndroidRuntime(2494): at android.app.ProgressDialog.show(ProgressDialog.java:85)
我怎么能没有问题地解雇呢? 我做得对吗?
非常感谢提前。
编辑:我可以完美地展示它,即使解雇它,用户也没有看到任何错误,但在我的LogCat中,我可以看到那个令人讨厌的错误。
我没有测试过这个,虽然它应该可行。 然而,作为替代,你可以调用finish()
在对话框的onClick
和您的活动的onStop
调用dialog.dismiss()
在onStop中调用dismiss将避免窗口泄漏警告消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.