1

我得到了这个对话框片段:

String message="This will be my message";

    AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
    alt_bld.setMessage(message)
    .setCancelable(false)
    .setPositiveButton("OK", new DialogInterface.OnClickListener() 
    {
        public void onClick(DialogInterface dialog, int id) 
        {


             ProgressDialog dialog1 = ProgressDialog.show(CombatActivity.this, "Loading", 
                     "Pushing OK...", true);


        Intent i = new Intent();
        i.setClass(MyFirstActivity.this, MySecondActivity.class);
        startActivity(i);
        finish();



        }
    });

    AlertDialog alert = alt_bld.create();
    // Title for AlertDialog
    alert.setTitle("Nyertél.");
    // Icon for AlertDialog
    alert.setIcon(R.drawable.icon);
    alert.show();

我的问题是:我应该在其中任何一个中调用 .hide() 或 .dismiss() 吗?消息文本将被动态读取,我不希望每个显示的对话框都有一个单独的实例。我只想要一个带有更新消息的消息。

那么我应该如何以及何时调用 remove 或 dismiss ?

4

2 回答 2

2

是的,您必须在调用dismiss() 之前先调用finish(),否则对话框将保留在后台,并且在您尝试启动其他活动时可能会导致问题。

于 2011-11-09T12:10:40.950 回答
1

在 Androidhide()中,aAlertDialog意味着简单地使其从屏幕上消失。但是,它仍然被保留并附加在Context. 因此,您需要调用dismiss()cancel()方法来从Context. 否则,它将给出“泄漏窗口错误”

于 2017-08-17T10:33:36.357 回答