如何保存reyclerview的滚动位置?

问题描述 投票:0回答:1

在活动1中,我使用了回收站视图来存储从Firebase下载的图像。单击图像后,将打开activity2以显示图像描述。如何存储activity1的滚动位置(当我在act2中单击向上按钮时,它必须转到act1中的上一个滚动位置)

firebase android-recyclerview
1个回答
0
投票

存储firstVisiblePositionLayoutManager中的RecyclerView

firstVisiblePosition = ((LinearLayoutManager)rv.getLayoutManager()).findFirstCompletelyVisibleItemPosition();

存储点击位置。

然后,在活动1中使用registerReceiverBroadcastReceiver带有LocalBroadcastManager.getInstance(this).registerReceiver(broadCastListener, filter)的实例

并使用来自Activity2的LocalBroadcastManager.getInstance(this)发送消息

firstVisiblePosition中收到回调时增加BroadcastReceiver.onReceive的值

最后在onResume中>

((LinearLayoutManager) rv.getLayoutManager()).scrollToPosition(firstVisiblePosition);
© www.soinside.com 2019 - 2024. All rights reserved.