我的片段中有一个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)
}
}
我不想通过包含我的整个布局和片段文件来弄乱这篇文章。请让我知道我应该包括代码的哪一部分来进一步说明。
答案 0 :(得分:0)
无需在onStart
中进行任何操作。
将您的onStart
代码移到您的onCreate
中。
伪代码看起来像这样。
if (recyclerview != null)
// restoredata
else
// initial set up.