Как отменить AlertDialog.Builder

Что мне нужно писать в Runnable Run Method для отмены Alert.Bulider?

AlertDialog.Builder ad;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Context context=this;
     ad = new AlertDialog.Builder(context);
        ad.setTitle("Warning");
        ad.setMessage("Just Testing It");

        ad.setPositiveButton("Yes", new OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub

            }
        });

        ad.setNegativeButton("Nooooo", new OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub

            }
        });

        ad.show();
        Handler h=new Handler();
        h.postAtTime(r, 10000);

    }
    public Runnable r=new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub

        }
    };

Ответы

Ответ 1

Вы не можете скрыть AlertDialog.Builder. Вместо этого объявите переменную-член ad как AlertDialog, создайте AlertDialog с помощью построителя и назначьте его объявлению, написав ad = builder.create(). В методе запуска вызовите ad.cancel();

Ответ 2

show() возвращает AlertDialog, поэтому сделайте переменную, как показано ниже:

AlertDialog dlg = ad.show();

а затем уволить при необходимости -

dlg.dismiss();