0

4 つの 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();
4

1 に答える 1

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();
    }
}
于 2013-06-06T08:38:34.177 に答える