J'utilise l'observateur de contenu. Dans onQuery, j'ai utilisé setNotificationUri pour enregistrer uri. Dans les méthodes bulkInsert/insert, j'ai ajouté l'appel à la méthode notifyChange. Après bulkInsert ou insert, la méthode CursorLoader.onLoadFinished est appelée. Inside Méthode onLoaderFinished: adaptateur.swapCursor est également appelé. Mais CursorAdapter newView/getView n'est pas appelé. Je substitue également la méthode getCount dans CursorAdapter. Je peux obtenir le nombre de curseur. S'il vous plaît aider. Merci d'avance.CursorAdapter newView/BindView n'étant pas appelé
MainActivity onCreate contains:
mGridView = (GridView) findViewById(R.id.grid_view);
mMovieCursorAdapter = new MoviesCursorAdapter(this, null, 0);
mGridView.setAdapter(mMovieCursorAdapter);
getSupportLoaderManager().initLoader(MOVIE_LOADER, null, this);
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
Uri uri = MovieContract.MovieEntry.CONTENT_URI;
return new CursorLoader(this, uri, null, null, null, null);
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
mMovieCursorAdapter.swapCursor(cursor);
}
@Override
public void onLoaderReset(Loader<Cursor> loader) {
mMovieCursorAdapter.swapCursor(null);
}
In ContentProvider query() method:
retCursor.setNotificationUri(getContext().getContentResolver(), uri);
**In bulkInsert() method:**
getContext().getContentResolver().notifyChange(uri, null);
pouvez-vous partager plus de code et de détail –