У меня есть два вида деятельности: SearchActivity (поиск элементов) и DownloadsActivity (показать загрузки).Как мне показать ProgressBar в DownloadsActivity? - PullRequest
1 голос
/ 15 января 2012

Я пишу простое приложение-загрузчик, которое выполняет две операции: SearchActivity: показывает список элементов, которые можно загрузить по запросу.нажатие на элемент должно начать загрузку элемента, но оставаться в поисковой активности.При нажатии на элемент в настоящее время запускается AsyncTask для обработки логики загрузки

DownloadsActivity: показывает список загружаемых в данный момент элементов и ProgressBars (с процентами) для каждого элемента.

Я настроил все, кроме ProgessBars.Мне интересно, каков наилучший способ корректно отображать ProgressBars в обновлении DownloadsActivity.Как выполнить загрузку AsyncTask в SearchActivity, как обновить соответствующий индикатор выполнения в DownloadsActivity, если просматривается DownloadsActivity?

1 Ответ

1 голос
/ 16 января 2012

Скорее всего, вам следует использовать компонент Service для загрузки. Это позволит вам запускать AsyncTasks (или просто отдельные потоки) из самой службы. После этого состояние любой загрузки может быть получено любой Активностью, вызвав некоторый метод (написанный вами) для объекта Сервиса, который фактически управляет всеми загрузками. Да, и таким же образом вы можете начать загрузку.

Кстати, чтобы извлечь объект экземпляра Сервиса из Activity, вам нужно сначала привязаться к сервису, а затем получить его экземпляр объекта с помощью интерфейса IBinder. Дополнительную информацию об услугах можно найти здесь .

...