回到之前的片段(如 ListView)后,我可以保持 ScrollView 的位置吗?
Posted
技术标签:
【中文标题】回到之前的片段(如 ListView)后,我可以保持 ScrollView 的位置吗?【英文标题】:Could I keep position of ScrollView after back to prev Fragment like ListView? 【发布时间】:2014-11-22 02:47:22 【问题描述】:我尝试过同时使用 ScrollView 和 ListView。
我发现如果我使用 ListView 并单击其中一个项目,则让当前片段被下一个片段替换,然后按返回按钮到上一个片段。 ListView 的滚动位置将保持不变。但是如果我使用 ScrollView,就不会了。
我不明白为什么它们不同?以及如何让 ScrollView 在按下返回按钮后保持其位置?
实际上,我已经在 *** 上搜索了一些答案。但我想知道原因并找到一种更简单的方法使 ScrollView 和 ListView 具有相同的行为。
请帮帮我!谢谢!
【问题讨论】:
【参考方案1】:片段自动保存和恢复其视图的状态,只要它们分配了 ID。
所以如果你给你的ScrollView分配一个ID,它的滚动状态就可以恢复:
<ScrollView android:id="@+id/scrollview"
...>
【讨论】:
没想到会这么简单:P 太棒了!官方文件是这么说的吗? 那里有很多错误信息,这可以清除它。例如,“你需要处理 onSaveInstanceState/onRestoreInstanceState”,这实际上并没有解决它,但事实上你在这样做时向视图添加了一个 ID,这解决了它。 你可以在这里阅读更多:inthecheesefactory.com/blog/… 太棒了,你救了我以上是关于回到之前的片段(如 ListView)后,我可以保持 ScrollView 的位置吗?的主要内容,如果未能解决你的问题,请参考以下文章