代码之家  ›  专栏  ›  技术社区  ›  pavanred

我应该在什么上下文中使用AlertDialog.Builder?

  •  8
  • pavanred  · 技术社区  · 14 年前

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

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

    我应该在什么上下文中使用它?如果我使用警报对话框,会有什么不同吗 onCreate OnClickListener 或者在任何这样的事件中?

    3 回复  |  直到 14 年前
        1
  •  4
  •   Brandon O'Rourke    14 年前

    在我的应用程序的第一个版本中,我犯了一个错误,没有使用onCreateDialog,而是自己构建并显示对话框。如果你自己做的话,你必须处理一些事情,比如在活动完成之前取消对话框()否则窗口会泄漏。

    我将重写活动中的onCreateDialog并返回ab.create()(not show())。onCreateDialog将处理显示对话框的操作,您只需调用showDialog(id)。

        2
  •  15
  •   Cristian    14 年前

    您应该使用从中执行活动的上下文。换句话说,只要使用 YourNameOfActivity.this

        3
  •  1
  •   McDowell rahul gupta    13 年前
    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();
    
    推荐文章