AlertDialog. Строитель не отмахиваясь от андроида

У меня есть экземпляр AlertDiaog.Builder, который я хочу закрыть по щелчку NegativeButton. тогда я хочу выполнить AyncTask. Все это происходит при встряхивании моего устройства.

в настоящее время AlertDialog.builder не закрывается даже после выполнения AyncTask.

ShowDialog() выполняется от другого нажатия кнопки, где все работает идеально. Эта проблема возникает только при встряхивании устройства.

Вот мой код:

@Override
    public void onShake(float force) 
    {
        // TODO Auto-generated method stub

        hour = cal.get(Calendar.HOUR);
        hour = hour+1;
        mins = cal.get(Calendar.MINUTE);
        timeString = hour+":"+mins+":"+today.second;
        showDialog(timeString, "");
        }
    public void showDialog(String timeString, String title)
    {

        builder = new AlertDialog.Builder(getActivity());

        builder.setTitle(title);
        builder.setMessage("Reaching at:"+" "+ timeString+"?");

        builder.setNegativeButton("NO", new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                // Do nothing
                dialog.dismiss();
                dialog.cancel();
            }
        });

        builder.setPositiveButton("YES", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) 
            {
                // Do nothing but close the dialog
                dialog.cancel();;
                new AddStatusTask().execute();

            }

        });


        alert = builder.create();
        alert.show();
    }

любая помощь приветствуется

2 ответа

Решение

Это странно, так как диалог закрывается на положительном или отрицательном, даже если нет dismiss() или cancel(); Попробуй с builder.show(); вместо alert = builder.create(); alert.show();,

Я знаю, что это слишком поздно, но, возможно, смогу кому-то помочь.

      AlertDialog.Builder builder = AlertDialog.Builder(this);
AlertDialog dialog = builder.create();

...
dialog.dismiss();
...

dialog.show();
Другие вопросы по тегам