我可以在回到像ListView这样的片段之后保持ScrollView的位置吗?

Azu*_*hen 18 android android-listview android-fragments android-scrollview

我试过使用ScrollView和ListView.

我想出如果我使用ListView并单击其中一个项目,则将当前片段替换为下一个片段,然后按回按钮以显示片段.ListView的滚动位置将保持在相同的位置.但是如果我使用ScrollView,它就不会.

我不明白为什么他们不一样?如何在按下按钮后让ScrollView保持其位置?

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

请帮我!谢谢!

Flo*_*ern 51

只要分配了ID,片段就会自动保存和恢复其视图的状态.

因此,如果为ScrollView分配ID,则可以恢复其滚动状态:

<ScrollView android:id="@+id/scrollview"
    ...>
Run Code Online (Sandbox Code Playgroud)

  • 太奇妙了!官方文件是否说明了这一点? (4认同)
  • 没想到会那么容易:P (2认同)