2010-08-26 4 views
4

Si je lance une activité à partir de ma ListView, lorsque je retourne à ListView, elle est réinitialisée au début - la position d'origine dans ListView est perdue.Position ListView onStart

Cela ne se produit pas si je change l'orientation de l'appareil. onRestoreInstanceState est appelée et la position dans ListView est conservée.

  1. Quelle est la cause de la position dans mon ListView être remis à zéro quand il est couvert par une activité? Notez que onDestroy n'est pas appelé, seulement onPause(), onStop(), onStart() et onResume(). La position est OK après onStop() et est déjà réinitialisée lorsque onStart() est appelé.

  2. Si je dois gérer moi-même quelle est la meilleure méthode? Je peux sauvegarder la position avec getFirstVisiblePosition() et le restaurer avec setSelection(). Mais j'aimerais vraiment que la position soit stockée dans l'état de l'instance. Des suggestions ici?

Cordialement

Phil

+0

est votre curseur géré par le 'Activity' en appelant' Activity # startManagingCursor'? – Qberticus

Répondre

0

Peut-être que vous créez un ListView dans la méthode onStart. Si oui, créez-le dans la méthode onCreate.

Questions connexes