Как уволить alertDialog вручную? - PullRequest
0 голосов
/ 21 июля 2011

Я пытаюсь получить некоторые данные с сервера. Если по какой-либо причине это не удается в середине, я отображаю предупреждение, побуждающее пользователя возобновить загрузку еще раз.Итак, что я сделал, в кнопке ОК диалогового окна оповещения я вызвал метод загрузки еще раз.Это заставляет диалоговое окно предупреждения зависать и останавливает его скрытие.Только после завершения загрузки диалоговое окно с предупреждением будет закрыто.Может кто-нибудь предложить какую-то идею здесь.

1 Ответ

0 голосов
/ 21 июля 2011

в событии onclick сначала закрывает диалог (dialog.cancel (); или dialog.dismiss () ), а затем снова вызовите функцию загрузки. используйте этот код, чтобы получить диалог showDialog (0);

  protected Dialog onCreateDialog(int id)
{
    AlertDialog.Builder builder = new AlertDialog.Builder(this); //builder to create dialog

    switch(id)
    {
    case 0:

        if(GAME_STARTED)
        {
            builder.setTitle("failed");
            builder.setMessage("xxxxx");

            //The buttons set for the dialog box
            builder.setPositiveButton("YES", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which)
                {
                    builder.dismiss();
                                     download_again();
                }});


        }
        break;
default:
    }
    return builder.create();    
}
...