Cru*_*ces 6 android android-fragments android-recyclerview
我有一个片段,我用一个新的事务替换
该Fragment包含一个包含大量项目的RecyclerView.
当用户按下新片段上的完成按钮时,我弹出后台堆栈,并重新创建旧片段.
这会导致再次调用OnCreateView方法,一切正常.
我的问题是它中的RecyclerView被重新创建,适配器被重置,但它似乎自动移动到它离开的位置(我假设只有在我使用事务添加而不是事务替换时才会发生)
作为旁注,适配器仍然为可见项调用OnBindViewHolder和OnCreateViewHolder.
我的问题是,为什么会发生这种情况?因为重新创建整个片段不应该重置到第一个位置?除了在加载新片段之前手动调用scrollToPosition(0)之外,还有另一种方法可以使片段不记得任何内容并在返回时实际完全重新创建吗?
小智 5
LinearLayoutManager 将滚动位置存储在 onSaveInstanceState 中。由于 SavedState Parcelable 与视图 id 一起存储,因此只要从 BackStack 返回时位置不越界,滚动位置就会恢复。
| 归档时间: |
|
| 查看次数: |
599 次 |
| 最近记录: |