我得到了这个对话框snipet:
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()吗? 消息文本将被动态读取,我不希望每个显示的对话框都有一个单独的实例。我只想要一个更新的消息。
那么我应该如何以及何时致电删除或解雇?
答案 0 :(得分:2)
是的,您必须在致电dismiss()
之前致电finish()
,否则对话框将保留在后台,当您尝试开始其他活动时可能会出现问题。
答案 1 :(得分:1)
在Android hide()
中,AlertDialog
表示只是让它从屏幕上消失。但是,它仍然保留并附加Context
。因此,您需要调用dismiss()
或cancel()
方法从Context
分离。否则,它将提供“泄漏窗口错误”。