是的,我监听了listView点击的动作,但是我在做完自己的事情后,想要把这个对话框关闭了,要使用哪一个方法来关闭呢。AlertDialog.Builder类中,有关闭自身的方法么?

解决方案 »

  1.   

    AlertDialog.Builder这个类只是用于产生AlertDialog对象用的,即Builder模式,其中自然不会有关闭AlertDialog的方法了。关闭的方法是继承的父类方法dismiss();
      

  2.   

    你们能回答我,我很高兴,
    但是你们能在弄懂之前别给我错误的答案啊。AlertDialog.Builder这个类就没有 dismiss 方法。
      

  3.   

    该楼主的同学:
            你可以用OnItemSelectedListener监听ListView,然后调用Activity的removeDialog(你之前用showDialog(id)的id)将对话框从内存移除;如果你用dismissDialog(id),则只是让其暂时隐藏了,它仍旧在内存中。希望如上答案可以对你有作用。
            你所说的那个dismiss()方法,是Dialog自己的方法。一般我们只用Activity的removeDialog(id)方法来实现你所说的那样的功能。
      

  4.   

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    Dialog dialog = builder.show();
    dialog.dismiss();
      

  5.   

    请问楼主 removeDialog(id)中的id从哪里来 没有指定id啊
      

  6.   

    8楼才是正解呢,怎么移除dialog
      

  7.   

     Builder builder = new AlertDialog.Builder(MainActivity.this);

     builder.setTitle("联网操作");
     builder.setMessage("你确定要联网请求吗?");

     
     builder.setPositiveButton("确定", new OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {


    }
    });

     
     
     
     
     
     
     
     
     builder.setNeutralButton("查看详情", new OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {


    }
    });
     builder.setNegativeButton("取消", new OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {
    // TODO Auto-generated method stub
    dialog.dismiss();
    }
    });
     builder.create();
     dialog = builder.show();
     
    }