Менее простым решением было бы расширить или создать свой собственный ProgressDialog. С другой стороны, в документации по Android вы можете найти после :
Внимание : Android включает в себя еще один класс диалога под названием ProgressDialog это показывает диалог с индикатором выполнения. Этот виджет устарел , поскольку он не позволяет пользователям взаимодействовать с приложением во время отображения прогресса. Если вам нужно указать загрузку или неопределенный прогресс, вы должны следовать рекомендациям по разработке Progress & amp; Активируйте и используйте ProgressBar в макете вместо ProgressDialog.
blockquote>Я бы предложил / рекомендовал перейти к ProgressBar в качестве отправной точки решения, но это ваш вызов.
Я думаю, что было бы легче решить вашу проблему, потому что ProgressBar - это просто еще одно представление, которое может перекрываться на финише.
Проверьте введение в это: http://jibbering.com/faq/faq_notes/closures.html . Это может помочь Вам понять лучше, как закрытия касаются функций.
Вот ряд примеров закрытия: http://www.javascriptkit.com/javatutors/closures2.shtml
В основном, обратный вызов похож на указатель функции. Бит, который делает это закрытием, когда тот функциональные доступы что-либо на контексте, где это живет, как переменные снаружи. Когда это произойдет, функция будет использовать текущие значения переменных (в противоположность, копируют их). Посмотрите пример 4.
Различные определения:
обратный вызов является исполняемым кодом, который передается как аргумент другому коду.
Закрытие -
закрытие является функцией, которая оценена в среде, содержащей одну или несколько связанных переменных. При вызове функция может получить доступ к этим переменным.
Существует хорошее определение закрытий здесь :
А "закрытие" является выражением (обычно функция), который может иметь свободные переменные вместе со средой, которая связывает те переменные (который "закрывает" выражение).
На практике, который означает, что это - функция, которая имеет некоторые скрытые переменные.
обратный вызов А является высокоуровневой идеей. Обычно это - функция, которая роздана с намерением того, чтобы быть названным в более позднее время. В JavaScript закрытия часто используются в качестве обратных вызовов.
Обратный вызов в зависимости от переменной контекста иначе связанные переменные (== объектное состояние) будет закрытием. Это будет чистая функция, иначе, когда это только возьмет свободные переменные (== параметры).
Мне не удается видеть, как эти два даже связаны? Закрытие несет части локального состояния в какую-то функцию, думайте о нем как о передаче ссылкой.
обратный вызов А предназначен для уведомления Вас об определенном изменении, и это перенаправляет процесс выполнения программы. Закрытие могло изменить локальное состояние, но Вы никогда не будете заставлять процессорное время обрабатывать, это, как Вы было бы с обратным вызовом.