RecyclerView滚动位置不变,并显示配置更改时开始的项目

时间:2017-12-19 07:30:11

标签: android android-recyclerview orientation scroll-position

我在AsyncTaskLoader的API调用中加载了一些数据。一切都很好但是当屏幕旋转时,滚动位置变为第一,因为在配置更改时再次设置适配器(但是API调用不是因为它是Loader)。我尝试按照以下链接中的建议保存滚动位置

link 1

我在onSavedInstanceState()中保存了滚动状态,并在onRestoreInstanceState()上进行了恢复,并在onPause()onResume()中进行了恢复,但是在旋转时,recyclerview始终显示第一个位置的项目屏幕。

以下是在我的应用中保存和恢复滚动状态的代码

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putParcelable(LIST_STATE, mMoviesListRecycler.getLayoutManager().onSaveInstanceState());


}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    listScroll=savedInstanceState.getParcelable(LIST_STATE);
   mMoviesListRecycler.getLayoutManager().onRestoreInstanceState(listScroll);
}

0 个答案:

没有答案