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

时间:2018-03-01 18:08:42

标签: java android firebase android-recyclerview

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

1 个答案:

答案 0 :(得分:0)

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

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

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

layoutManager.onRestoreInstanceState(yourListState);