2010-08-26 37 views
4

如果我從ListView啓動一個活動,當我回到ListView時,它會重置回開始 - ListView內的原始位置丟失。ListView position onStart

如果我更改設備的方向,則不會發生這種情況。 onRestoreInstanceState被調用並且ListView中的位置被維護。

  1. 什麼是導致ListView中的位置被覆蓋的活動時重置?請注意,onDestroy沒有被調用,只是onPause(),onStop(),onStart()和onResume()。 onStop()之後的位置正確,並且在調用onStart()時已經重置。

  2. 如果我必須自己管理這個,最好的方法是什麼?我可以使用getFirstVisiblePosition()來保存位置並用setSelection()恢復它。但是我真的很想將這個職位存儲在實例狀態中。這裏有什麼建議?

問候

菲爾

+0

是你通過調用'Activity#startManagingCursor'由'Activity'管理的遊標嗎? – Qberticus 2010-08-26 20:40:07

回答

0

也許你正在創造OnStart方法一個ListView。如果是,請在onCreate方法中創建它。