当从另一个活动返回活动时,RecyclerView的滚动位置丢失

问题描述 投票:-2回答:1

我在MainActivity中使用Firebase RecyclerView.Apdapter和Firebase UI。当我打开另一个活动并返回主活动时,滚动位置移动到顶部。使用Firebase RecyclerView关闭其他活动后如何获得相同的滚动位置?

java android firebase android-recyclerview
1个回答
0
投票

要解决这个问题,你需要知道负责持有layout state(并恢复它)的组件是你的LayoutManager中使用的RecyclerView。为此,您可以覆盖onSaveInstanceState()方法并将位置直接存储在Bundle对象中。

要取回它,只需覆盖onRestoreInstanceState()方法并从Bundle对象获取位置。

最后,只需在onStart()方法中使用以下代码行:

layoutManager.onRestoreInstanceState(yourListState);
© www.soinside.com 2019 - 2024. All rights reserved.