9

谁能解释一下我应该在什么上下文中使用 AlertDialog.Builder 类?我是 android 应用程序开发的新手,坦率地说,我不明白什么时候使用哪个上下文?

说,我想为 AlertDialog.Builder 类创建一个对象 -

AlertDialog.Builder ab = new AlertDialog.Builder();
ab.setMessage("Test");

ab.show();

我应该在什么情况下使用它?如果我使用警报对话框onCreateOnClickListener在任何此类事件的处理程序中,它会有所不同吗?

4

3 回答 3

15

您应该使用执行它的 Activity 的上下文。换句话说,只是YourNameOfActivity.this用作上下文。

于 2010-07-24T18:48:24.530 回答
4

在我的应用程序的第一个版本中,我犯了不使用 onCreateDialog 的错误,而是自己构建并显示了对话框。如果您自己执行此操作,则必须在完成()活动之前处理诸如关闭对话框之类的事情,否则窗口会泄漏。

我会在您的活动中覆盖 onCreateDialog 并返回 ab.create()(而不是 show())。然后 onCreateDialog 将处理显示对话框,您只需调用 showDialog(id)。

于 2010-07-24T19:12:34.203 回答
1
AlertDialog.Builder ab = new AlertDialog.Builder(this);
ab.setMessage("Test")
  .show;

(或)如果你想要(是,否)按钮意味着使用这个

AlertDialog.Builder ab = new AlertDialog.Builder(this);
ab.setMessage("Are you sure you want to exit?")
  .setPositiveButton("Yes", dialogClickListener)
  .setNegativeButton("No", dialogClickListener)
  .show();
于 2011-12-02T07:13:34.950 回答