使用多个RecyclerView和其他视图保存/恢复NestedScrollView的状态

更新:这种方法的工作原理,只有保存没有工作,所以我选择了另一种方式来保存这个数组。

在我的布局中,我有一个NestedScrollView和一个LinearLayout,其中包含多个RecyclerViews和其他视图。 布局是在一个片段。 我尝试按照以下方式保存和恢复滚动状态(这是Kotlin,所以不要关于语法):

fun NestedScrollView.savePosition(bundle: Bundle?) { bundle?.putIntArray("SCROLL_VIEW_POSITION", intArrayOf(scrollX, scrollY)) } fun NestedScrollView.restorePosition(bundle: Bundle?) { bundle?.getIntArray("SCROLL_VIEW_POSITION")?.let { post { scrollTo(it[0], it[1]) } } } 

我在onSaveInstanceState调用第一个函数,在所有RecyclerViews加载其内容之后调用第二个函数。

但它不工作…

有任何想法吗?