【问题标题】:How to retain Android ListView scroll position when returning to an activity? [duplicate]返回活动时如何保留Android ListView滚动位置? [复制]
【发布时间】:2011-07-01 15:32:16
【问题描述】:

可能重复:
Maintain/Save/Restore scroll position when returning to a ListView

用户查看项目的列表视图,他们移动到显示项目详细信息的活动,然后点击返回并返回到列表活动,但我希望列表反映其先前的滚动位置。

我应该将滚动位置作为成员变量存储在 onPause 中的活动上还是有更好的方法?

【问题讨论】:

    标签: android


    【解决方案1】:

    在 onPause 和 onResume 的实例变量中保存位置,检查是否有位置值并移动到它。

    例如使用

    private int currentPostion;
    

    然后在 onResume 中做..

    getListView().setSelection(currentPosition);
    

    【讨论】:

    • 您还应该考虑将此值放入传递给onSaveInstanceState() 的Bundle 中并在onRestoreInstanceState() 中使用它,这样您就可以处理方向更改。
    • 感谢 Manfred 和 Mark,一切正常,感谢您的帮助。
    • 工作正常。但我正在使用第二个活动 - 半透明。所以滚动视图首先到达顶部,然后在从第二个活动滚动视图按下后到达它的位置。
    • 对不起.. 但你的评论没有意义。可能会问一个单独的问题。
    • 这不会保留准确的滚动位置。
    猜你喜欢
    • 2011-03-02
    • 2011-10-22
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多