1
가 실행된다

내 주요 활성 단편IntentService

MainFragment mainFragment = 새로운 MainFragment()를 한 후 CursorLoader을 다시하는 방법; FragmentManager fragmentManager = getSupportFragmentManager(); fragmentManager.beginTransaction(). replace (R.id.layout_for_fragment, mainFragment) .commit();

onCreate 메서드에서 IntentService를 호출하여 API에서 데이터를 가져온 다음 응용 프로그램 측에 SQLite에 저장합니다.

의도 의도 = 새로운 의도 (this, AService.class); startService (의도);

메인 조각은 SQLiteDB에서 저장된 데이터를 쿼리하고 listview에 표시하는 커서 로더를 초기화합니다.

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를 호출하도록 변경하십시오.