1

Моя основная деятельность имеет фрагментКак перезагрузить CursorLoader после IntentService выполняется

MainFragment mainFragment = новый MainFragment(); FragmentManager fragmentManager = getSupportFragmentManager(); fragmentManager.beginTransaction(). Replace (R.id.layout_for_fragment, mainFragment) .commit();

В методе onCreate вызывает IntentService для извлечения данных из API, а затем сохраняет SQLite в стороне приложения.

Целевое намерение = новое намерение (это, AService.class); startService (намерение);

Основной фрагмент инициализирует загрузчик курсора для запроса сохраненных данных из SQLiteDB и показывает их в виде списка.

getActivity(). GetSupportLoaderManager(). InitLoader (A_LOADER, null, this);

Загрузчик курсора заканчивается перед сохранением данных, поэтому просмотр списка всегда пуст.

Как убедиться, что Служба выполняется в первую очередь? Или Как перезагрузить данные после завершения обслуживания?

+0

Взгляните на это [сообщение в блоге] (http://www.androiddesignpatterns.com/2012/07/loaders-and-loadermanager-background.html) и его преемники - очень полезная серия на Loader и LoaderManager – 0X0nosugar

+0

Спасибо, очень полезно! –

ответ

0

Решено. При нажатии кнопки перейдите к вызову initLoader.