2010-08-26 66 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方法中创建它。