当我打开另一个活动时,RecyclerView滚动到顶部

时间:2018-07-13 21:15:45

标签: android android-recyclerview android-lifecycle

我的片段中有一个RecyclerView。当我打开另一个活动,然后回跳并转到初始活动/片段时,RecyclerView现在滚动到列表顶部。

我正在onCreate方法内启动RecyclerView,当我导航至另一个活动并返回时,仅调用onStop(以及随后的一次)。

我什至尝试保存LinearLayout管理器的状态

override fun onStop() {
    super.onStop()
    rcerecylerViewState  = myRecyclerView.layoutManager?.onSaveInstanceState()
}

override fun onStart() {
    super.onStart()

    if(rcerecylerViewState != null){
        myRecyclerView.layoutManager?.onRestoreInstanceState(newsFeedViewModel.rcerecylerViewState)
    }
}

我不想通过包含我的整个布局和片段文件来弄乱这篇文章。请让我知道我应该包括代码的哪一部分来进一步说明。

1 个答案:

答案 0 :(得分:0)

无需在onStart中进行任何操作。

将您的onStart代码移到您的onCreate中。

伪代码看起来像这样。

if (recyclerview != null) 
    // restoredata
else 
    // initial set up.