Как перезагрузить 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);

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

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


person Eric    schedule 01.02.2017    source источник
comment
Взгляните на этот сообщение в блоге и его последователей. - очень полезная серия по Loader и LoaderManager   -  person Bö macht Blau    schedule 01.02.2017
comment
Спасибо, очень полезно!   -  person Eric    schedule 03.02.2017


Ответы (1)


Решено. Измените вызов initLoader при нажатии кнопки.

person Eric    schedule 03.02.2017