2016-11-29 6 views
0

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); 
+0

pouvez-vous partager plus de code et de détail –

Répondre

0

C'est peut-être en retard mais j'ai eu le même problème. Mon code était en cours d'exécution avec API 19 comme prévu, mais bindView n'est pas appelé dans l'API 24. J'ai essayé toutes les réponses à propos de ce problème, mais rien n'a aidé. J'ai contrôlé mon code encore et encore et n'ai pas trouvé d'erreurs. Solution: J'ai créé un nouveau projet complètement. Et copié tout le code au nouveau projet exactement le même que c'est. Après cela, dans le nouveau projet tout a fonctionné comme prévu. Je pense que c'est en quelque sorte lié avec studio android. Je souhaite que cela aide ...