Ich versuche, meine Benutzeroberfläche mit Daten aus der DB mit Cursor loader zu füllen.onLoadFinish() gibt Null auf Cursor
Im Folgenden finden Sie auf meiner onCreateLoader()
@Override
public Loader <Cursor> onCreateLoader(int id, Bundle args) {
String sortingOrder = MovieContract.Movie.COLUMN_RATING + " ASC";
Uri uri = MovieContract.Movie.buildMovieDbUri();
Log.v(LOG_TAG, "URI: " + uri.toString() + " sorting: " + sortingOrder);
Cursor c = getActivity().getContentResolver().query(uri, MOVIE_PROJECTION, null, null, sortingOrder);
if (c.moveToFirst())
Log.v(LOG_TAG, "Movie ID: " + c.getInt(PROJ_MOVIE_ID - 1));
else
Log.v(LOG_TAG, "Fail");
CursorLoader cc = new CursorLoader(getActivity(),
uri,
MOVIE_PROJECTION,
null,
null,
sortingOrder);
return cc;
}
@Override
public void onLoadFinished(Loader <Cursor> loader, Cursor data) {
mAdapter.swapCursor(data);
}
Exception
java.lang.NullPointerException: Der Versuch, virtuelle Methode ‚android.database.Cursor itsme.com.moviecatalogue.GridViewAdapter aufzurufen. swapCursor (android.database.Cursor) 'auf einem Nullobjekt Referenz
In der obigen Code-Cursor c erhält mich alle Daten korrekt. Aber ich bekomme eine NullPointerException
auf swapCursor()
in onLoadFinished()
. Ich verstehe nicht, was ich falsch mache.