Android - onContextItemSelected中的AlertDialog不起作用

时间:2010-11-22 04:47:33

标签: android alertdialog

我有以下伪代码。

public boolean onContextItemSelected(MenuItem aItem) {
      switch(aItem.getItemId()) {
           case A: {
                new AlertDialog.Builder(this)
                  .setIcon(android.R.drawable.ic_dialog_alert)
                  .setTitle("Delete")
                  .setMessage("Delete?")
                  .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                       @Override
                       public void onClick(DialogInterface dialog, int which) {
                             // do stuff A...
                       }
                  });

                  // do stuff B...

                  return true;
           }
      }
  }

问题是它从不显示警告对话框。但是,它执行“do stuff B ......”中所述的事情。

有谁知道为什么AlertDialog现在正在显示?

谢谢!

1 个答案:

答案 0 :(得分:2)

你需要.create()。show()将解决问题:)

AlertDialog dialog = new AlertDialog.Builder(this)
              .setIcon(android.R.drawable.ic_dialog_alert)
              .setTitle("Delete")
              .setMessage("Delete?")
              .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                   @Override
                   public void onClick(DialogInterface dialog, int which) {
                         dialog.dismiss();
                   }
              }).create();
dialog.show();

当你不再需要它时,你可以解雇()它。

编辑:抱歉。忘了.create():)