getLoaderManager().initLoader() doesn't accept 'this' as argument though the class (ListFragment) implements LoaderManager.LoaderCallbacks<Cursor>

android, android-listfragment, android-loadermanager, sqlite

Solution

You are not using the right implementations of `CursorLoader` and `Loader`. Remove your old imports and use these ones:

import android.support.v4.app.LoaderManager;
import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader;
import android.support.v4.widget.CursorAdapter;

But I have the same Problem using SherlockActionBar: As I have to extend `SherlockListActivity` there is NO method `getSupportLoadManager()`.

Any ideas on this?

EDIT: follow this tutorial if you do not know how to use fragments. Create a new Class with extends SherlockFragment and move your display logic there. Make your old activity extend SherlockFragmentActivity and show the newly created SherlockFragment. This way I got it working. Thanks to @JakeWharton!

Problem

I'm having trouble following a guide on using SQLite in Android. I'm using a `ListFragment` instead of a `ListActivity`(as in the example), so I have the `ListFragment` implement `LoaderManager.LoaderCallbacks<Cursor>` instead. Then, in the `fillData()` method in the `ListFragment`: ``` private void fillData() { // Fields from the database (projection) // Must include the _id column for the adapter to work String[] from = new String[] { NotesSQLiteHelper.COLUMN_TITLE }; // Fields on the UI to which we map int[] to = new int[] { R.id.label }; getLoaderManager().initLoader(0, null, this); //error adapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.notes_row, null, from, to, 0); setListAdapter(adapter); } ``` I get the error: ``` The method initLoader(int, Bundle, LoaderManager.LoaderCallbacks<D>) in the type LoaderManager is not applicable for the arguments (int, null, NotesActivity.ArrayListFragment) ``` on the marked line even though `this` implements `LoaderManager.LoaderCallbacks<Cursor>`. Thank you for any ideas.

Original source