Можно ли узнать, завершил ли LoaderManager загрузку всех AsyncTaskLoaders?
Причина, по которой я спрашиваю, заключается в том, что я хочу отображать пульсатор ProgressDialog в ActionBar, пока выполняется любая AsyncTask, запущенная моей основной деятельностью.
Мое текущее решение (это полуработы) расширяет AsyncTaskLoader. В этом классе я переопределяю метод onForceLoad() и добавляю идентификатор загрузчика и имя класса к карте (с ключом идентификатора загрузчика), которая управляется в моем приложении; Когда на карту добавлен Loader, я показываю загрузочный пульсатор в ActionBar. Всякий раз, когда вызывается onLoadFinished в LoaderCallback, я удаляю Loader из карты с помощью Id и проверяю, пуста ли карта. Если карта пуста, я перестаю отображать пульсирующий сигнал.
Проблема, с которой я сталкиваюсь, заключается в том, что если, например, запущено 5 загрузчиков и пользователь нажимает кнопку "Обновить", которая снова перезапускает все 5 загрузчиков, то не все onLoadFinished всех загрузчиков будут вызываться. Что приводит к тому, что загрузочный пульсатор отображается бесконечно, потому что Карта никогда не становится пустой. Я думаю, что это может быть связано с тем, как загружаются загрузчики, но я не уверен.