2010-10-07 8 views
0

J'ai regardé des exemples d'implémentations de CursorAdapter pour m'assurer que tout va bien. Une chose que j'ai remarquée que je ne fais pas appelle changeCursor (null) sur mon CursorAdapter dans le gestionnaire onStop() de l'activité.Pourquoi changer le curseur ListView à null à l'arrêt?

mAdapter.changeCursor(null); 

Quel est le but de ceci? Je suis prêt à le faire s'il y a une bonne raison, mais je déteste naviguer vers une autre activité, reculant vers cette activité, et voir un écran vide pendant une seconde jusqu'à ce qu'un nouveau curseur soit interrogé.

+0

Ma conjecture est ainsi, quand le curseur se ferme, il ne lève pas une exception quand l'adaptateur essaye d'interroger le curseur – Falmarri

Répondre

1

Quel est le but de cela?

Comme Falmarri l'indique, il est si votre Cursor n'est plus attaché à l'adaptateur, et ainsi vous pouvez close() le Cursor sans problème. À mon humble avis, il n'est pas nécessaire d'appeler changeCursor(null) dans onStop(). Particulièrement si vous gérez votre Cursor (startManagingCursor() sur Activity), Android prendra soin du Cursor pour vous en ce qui concerne le cycle de vie de l'activité.

+0

Merci pour la clarification. Je n'ai pas l'activité gérer le curseur. J'ai essentiellement copié ceci: http://apps-for-android.googlecode.com/svn-history/r77/trunk/RingsExtended/src/com/example/android/rings_extended/MusicPicker.java – Andrew

Questions connexes