Android活动对话框一旦退出就冻结屏幕,直到按下后退

时间:2014-06-12 14:40:42

标签: android android-alertdialog

我正在尝试学习一些关于Android开发的知识,所以我创建了一个Android活动来显示带有两个按钮的对话框。这很简单如下:

class DialogWindow extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
    alertDialog.setTitle("Dialog Window");
    alertDialog.setMessage("Do you want to save");
    // Setting Positive "Yes" Button
    alertDialog.setPositiveButton("Save"),
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    doThis();
                    dialog.dismiss();
                }
            });
    // Setting Negative "NO" Button
    alertDialog.setNegativeButton("Cancel"),
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    doThat();
                    dialog.dismiss();
                }
            });

    alertDialog.show();
}

我正在对其进行测试,因此到目前为止,方法doThis()doThat()仅显示相应的Toast条消息。

问题

无论我按ButtonDialog都会关闭,并显示前面的Activity屏幕。但是在我按下后退按钮之前我无法与它进行交互:然后我可以再次进行交互,而不会对我的活动产生任何问题。

你能告诉我为什么会这样吗?当然,在我的计划中,我希望关闭对话框窗口,使应用程序立即响应。为什么使用上面的代码我必须按回去? 感谢

1 个答案:

答案 0 :(得分:0)

您正在创建一个不可见的Activity(因为您不调用setContentView),它会生成Dialog。 一旦对话框被解除,活动仍然存在。 因此,为什么在恢复之前的活动之前需要退出DialogWindow活动。