【发布时间】:2013-08-23 12:18:27
【问题描述】:
假设我们有两个片段——ListFragment 和 SomeOtherFragment。我们将ListFragment 替换为SomeOtherFragment(保存在后台堆栈中),然后返回。之后我们看到ListFragment滚动的那个位置是一样的。
但我不明白,为什么。
我在ListFragment 的源代码中没有看到任何保持滚动位置的代码。 onDestroyView 被调用,内部ListView 被重新创建。它是如何工作的?请指出一段代码。
【问题讨论】:
-
尝试查看
onSavedInstance(),它管理并提供您在onCreateView(Bundle savedInstanceState)通话中获得的Bundle savedInstanceState。 -
这里是 ListFragment 的来源:grepcode.com/file/repository.grepcode.com/java/ext/…。我没有看到对 savedInstanceState 的任何特殊处理
标签: android android-listview android-listfragment