返回到RecyclerView中的上一个滚动位置

时间:2015-07-10 05:08:44

标签: android android-recyclerview android-scrollview

我有一个显示一些数据的RecyclerView。我还有一个浮动操作按钮,可以将用户带到一个新的Activity。但是当用户返回上一个Activity(包含RecyclerView)时,用户将被带到列表的顶部。
在单击浮动操作按钮之前,如何防止这种情况并将用户返回到原来的位置?

1 个答案:

答案 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);

希望有所帮助。