【问题标题】:ListView position onStartListView 位置 onStart
【发布时间】:2010-08-26 18:34:32
【问题描述】:

如果我从我的 ListView 启动一个活动,当我返回 ListView 时,它会被重置回开始 - ListView 中的原始位置会丢失。

如果我改变设备的方向,这不会发生。调用 onRestoreInstanceState 并保持 ListView 中的位置。

  1. 是什么导致我的 ListView 中的位置在被 Activity 覆盖时被重置?请注意,没有调用 onDestroy,只是调用了 onPause()、onStop()、onStart() 和 onResume()。位置在 onStop() 之后是 OK 的,并且在调用 onStart() 时已经重置。

  2. 如果我必须自己管理这个问题,最好的方法是什么?我可以使用 getFirstVisiblePosition() 保存位置并使用 setSelection() 恢复它。但我真的很希望将位置存储在实例状态中。这里有什么建议吗?

问候

菲尔

【问题讨论】:

  • 你的游标是由Activity通过调用Activity#startManagingCursor来管理的吗?

标签: android listview


【解决方案1】:

也许您正在 onStart 方法中创建一个 ListView。如果是,请在 onCreate 方法中创建它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-23
    • 2019-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多