android警告对话框没有显示

时间:2011-01-18 15:38:08

标签: android dialog alert alertdialog

我正在尝试在onTouchListener中显示警告,但我无法显示它。我是新手,但我一直在关注一些好的教程无济于事。 这是代码的一部分...为什么这个警报不显示的任何想法?

mSwitcher.setOnTouchListener(new OnTouchListener()
{
   public void onItemClick(AdapterView<?> parent, View v, int position, long id)
   {
   }

   @Override public boolean onTouch(View v, MotionEvent event)
   {
      // the attempt at the alert
      AlertDialog.Builder builder = new AlertDialog.Builder(this);
      builder.setMessage("Are you sure you want to exit?")
             .setCancelable(false)
             .setPositiveButton("Yes", new DialogInterface.OnClickListener()
                {
                   public void onClick(DialogInterface dialog, int id)
                   {
                      MyActivity.this.finish();
                   }
                })
             .setNegativeButton("No", new DialogInterface.OnClickListener()
                {
                   public void onClick(DialogInterface dialog, int id)
                   {
                      dialog.cancel();
                   }
                });
      AlertDialog alert = builder.create();
      return false;
   }
});

我认为我的结构还可以,但我甚至无法编译。

3 个答案:

答案 0 :(得分:4)

尝试更改

AlertDialog alert = builder.create();

AlertDialog alert = builder.show();

答案 1 :(得分:2)

我更新了代码,因此括号位于正确的位置。它现在应该编译。正如JLund指出的那样,将最后一行从builder.create();更改为builder.show();,这应该有效。如果您希望保留builder.create();来电,请在其后添加alert.show();

答案 2 :(得分:0)

您几乎完成了显示对话框提醒,但似乎您忘记显示 AlertDialog ,使用show()的{​​{1}}。
将此行添加到代码的末尾,但在AlertDialog内的return false;之前添加。

onTouch()