在计时器方法中一次关闭多个对话框

时间:2013-06-06 08:27:10

标签: android android-dialog

同时出现四个alertDialog框,我希望在遇到计时器方法的同时删除所有这些框。我该怎么办?

 AlertDialog.Builder mainBuilder = new AlertDialog.Builder(AdminViewActivity.this);
                                mainBuilder.setMessage("Table No " +TableList.get(i)+" At Time "+TimeList.get(i))
                               .setPositiveButton("Waiter Called", new DialogInterface.OnClickListener() 
                                {
                                   public void onClick(DialogInterface dialog, int id) {
                                       dailog1=dialog;
                                       dialog.dismiss();       
                                   }
                                });
                                AlertDialog mainAlert = mainBuilder.create();
                                mainAlert.requestWindowFeature(Window.FEATURE_NO_TITLE);
                                WindowManager.LayoutParams WMLP = mainAlert.getWindow().getAttributes();
                                mainAlert.getWindow().getAttributes().gravity = Gravity.LEFT|Gravity.CENTER_VERTICAL;
                                WMLP.x = 10;   //x position
                                WMLP.y = 300;   //y position
                                mainAlert.getWindow().setAttributes(WMLP);
                                mainAlert.show();

1 个答案:

答案 0 :(得分:1)

保存对所有对话框的引用,然后简单地将其解除:

public class MainActivity extends Activity {
    Dialog mDialog1;
    Dialog mDialog2;
    Dialog mDialog3;
    Dialog mDialog4;

    public void someAction() {
        mDialog1.dismiss();
        mDialog2.dismiss();
        mDialog3.dismiss();
        mDialog4.dismiss();
    }

    public void somewhere() {
        mDialog1 = new dialog();
        mDialog2 = new dialog();
        mDialog3 = new dialog();
        mDialog4 = new dialog();
    }
}