2
Je fournis un curseur à une ListActivity comme ceci: Ma question est de savoir comment/quand devrais-je fermer mon curseur quand j'ai terminé?Quand dois-je fermer le curseur que je fournis à ListView
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
if (cursor != null) {
mCursorAdapter = new CursorAdapter(this, cursor);
setListAdapter(mCursorAdapter);
}
Merci.
Que dois-je faire dans mon onDestory() pour fermer le curseur que je passe à CursorAdpater()? Ou je dois garder une référence à getContentResolover(). Query() moi-même et appeler 'close()' dans le onDestory() manuellement? Merci. – michael
@michael: Si vous utilisez 'getContentResolver(). Query()', ce 'Cursor' est déjà géré, et vous n'avez donc pas besoin de le fermer vous-même, car Android le fermera pour vous. Je m'excuse - je me suis concentré sur le curseur et je n'ai pas réalisé que vous l'aviez obtenu à partir d'un 'ContentResolver' au lieu de SQLite. – CommonsWare
@CommonsWare: Si je mets la ligne 'cursor.close()' dans 'onDestroy', le curseur sera fermé chaque fois que l'orientation de l'appareil changera et ce n'est pas souhaitable. Que puis-je faire dans ce cas? –