我在应用程序上显示AlertDialog.Builder。当我旋转屏幕时,我得到“应用程序已泄露窗口”错误。如何在onPause()事件中取消AlertDialog?我没有看到Ad.cancel()的任何方法。
更新:为工作模式编辑的代码。
private AlertDialog inputDlg;
...
@Override
protected void onPause ()
{
// close dialog if it's showing
if (inputDlg != null)
if (inputDlg.isShowing ())
inputDlg.dismiss ();
super.onPause ();
}
...
private void dlgUserPrompt (Context c)
{
// Set an EditText view to get user input
final EditText input = new EditText (c);
AlertDialog.Builder Ab = new AlertDialog.Builder (this);
Ab.setTitle("title");
Ab.setMessage("I won't explode if you rotate this");
Ab.setView(input);
inputDlg = Ab.show ();
}