2014-10-23 3 views
-4

У меня есть настраиваемый диалог, и когда нажата кнопка, она выполняет задачу async. Я хочу, чтобы отменить диалог onpostexecute async-задачи. Как я могу это сделать?Отключить настраиваемый диалог из задачи Async в android

Заранее спасибо

+0

Показать код у вас есть. Без этого все, что мы можем сказать, это 'dialog.dismiss()' – codeMagic

+0

спасибо, что я нашел решение – mystery

ответ

1

Если у вас есть Async, как внутренний класс уволить его непосредственно с помощью dialog.dismiss() где dialog объявляется как переменная экземпляра класса. Если нет, пройдите через async constructor, а затем dismiss на onPostExecute. Обычно я хотел бы сделать следующее: создать диалог на onPreExecute, а затем dismiss его на onPostExecute, но это также зависит от вашей потребности, где вы его объявляете.

0

Если вы хотите закрыть диалоговое окно перед завершением работы AsynTask, вы можете позвонить dialog.dismiss() в onProgressUpdate() методе AsynTask в момент, когда вам нужно. Эта функция называется в потоке пользовательского интерфейса, поэтому у вас не будет проблем с этим.

Дополнительная информация о onProgressUpdate() функции можно найти здесь: http://developer.android.com/reference/android/os/AsyncTask.html