gpt4 book ai didi

android - 是什么导致 ListView 在方向更改后保持其滚动位置?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:14:47 26 4
gpt4 key购买 nike

我有一个包含 ListView 的 Activity 。我使用 SimpleCursorAdapter 填充 ListView 。当我运行该应用程序时,我可以在 ListView 中手动向下滚动(例如到第 10 项)。然后,当我旋转我的手机时 - 这会破坏并重新创建我的 Activity,并且会按预期重新创建 ListView。

但是,在我的手机上旋转后,重新创建的 Activity 显示我的 ListView 仍处于我的手动滚动位置(在本例中为第 10 行)。我很确定我的代码没有调用 ListView.setSelection(int) 那么是什么导致了 ListView 的重新定位?

这可能看起来很方便,但它不是我想要的。它是 ListViews 行为的一部分吗?如果是这样,如何才能停止/覆盖这种重新定位?

最佳答案

围绕该主题阅读更多......

View 状态自动存储(包括我的 ListView)。这是由 onSaveInstanceState()/onRestoreInstanceState() 的默认实现处理的。使用调试器我可以看到 savedInstanceState 包含一个来 self 的 ListView 的条目——所以这就是自动重新定位它的原因。要在我的 Activity 中停止它,我可以重写 onSaveInstanceState()。

关于android - 是什么导致 ListView 在方向更改后保持其滚动位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7680045/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com