 <p>The regular CursorLoader is based on Android's ContentProvider - so if you're not using it, you'll have to write your own Loader. Here's one way you can do it:</p> <p><a href="https://github.com/commonsguy/cwac-loaderex/blob/master/src/com/commonsware/cwac/loaderex/acl/AbstractCursorLoader.java" rel="nofollow">https://github.com/commonsguy/cwac-loaderex/blob/master/src/com/commonsware/cwac/loaderex/acl/AbstractCursorLoader.java</a></p> <p>From that point it's pretty straight forward. Your activity/fragment can be a callback for the LoaderManager - it will need to implement LoaderCallbacks interface. </p> <p>Instead of running your query, use getLoaderManager().initLoader(this, null, LOADER_ID) to initialize data loading. Here's an example: <a href="http://developer.android.com/reference/android/app/LoaderManager.html" rel="nofollow">http://developer.android.com/reference/android/app/LoaderManager.html</a></p> <p>Now, the data will be in the onLoadFinished() callback. If you did everything right, you'll get your cursor here. Now simply use the cursor to populate your list. </p>