【问题标题】:Could I keep position of ScrollView after back to prev Fragment like ListView?回到之前的片段(如 ListView)后,我可以保持 ScrollView 的位置吗?
【发布时间】:2014-11-22 02:47:22
【问题描述】:

我尝试过同时使用 ScrollView 和 ListView。

我发现如果我使用 ListView 并单击其中一个项目,则让当前片段被下一个片段替换,然后按返回按钮到上一个片段。 ListView 的滚动位置将保持不变。但是如果我使用 ScrollView,就不会了。

我不明白为什么它们不同?以及如何让 ScrollView 在按下返回按钮后保持其位置?

实际上,我已经在 StackOverflow 上搜索了一些答案。但我想知道原因并找到一种更简单的方法使 ScrollView 和 ListView 具有相同的行为。

请帮帮我!谢谢!

【问题讨论】:

    标签: android android-fragments android-listview android-scrollview


    【解决方案1】:

    片段自动保存和恢复其视图的状态,只要它们分配了 ID。

    所以如果你给你的ScrollView分配一个ID,它的滚动状态就可以恢复:

    <ScrollView android:id="@+id/scrollview"
        ...>
    

    【讨论】:

    • 没想到会这么简单:P
    • 太棒了!官方文件是这么说的吗?
    • 那里有很多错误信息,这可以清除它。例如,“你需要处理 onSaveInstanceState/onRestoreInstanceState”,这实际上并没有解决它,但事实上你在这样做时向视图添加了一个 ID,这解决了它。
    • 你可以在这里阅读更多:inthecheesefactory.com/blog/…
    • 太棒了,你救了我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    相关资源
    最近更新 更多