我有一个显示一些数据的RecyclerView。我还有一个浮动操作按钮,可以将用户带到一个新的Activity。但是当用户返回上一个Activity(包含RecyclerView)时,用户将被带到列表的顶部。
在单击浮动操作按钮之前,如何防止这种情况并将用户返回到原来的位置?
答案 0 :(得分:0)
很抱歉迟到了回复。您可以这样做:
1)从布局管理器中获取当前位置,如下所示:
int mPosition = mLinearLayoutManager.findFirstVisibleItemPosition();
2)覆盖public void onSaveInstanceState(Bundle outState) 并像这样保存你的可见位置:
public void onSaveInstanceState(Bundle outState) {
outState.putInt(KEY_SCROLL_POS, mPosition);
super.onSaveInstanceState(outState);
}
3)在活动重新进入时恢复您的位置:
在onCreate()
中执行以下操作:
mPosition = savedInstanceState.getInt(KEY_SCROLL_POS);
希望有所帮助。