gpt4 book ai didi

android - 使用多个 RecyclerView 和其他 View 保存/恢复 NestedScrollView 的状态

转载 作者:行者123 更新时间:2023-12-04 03:19:45 26 4
gpt4 key购买 nike

更新:这个方法可以,只有保存不行,所以我选择了另一种方式来保存这个数组。

在我的布局中,我有一个 NestedScrollView 和一个 LinearLayout,其中包含多个 RecyclerView 和其他 View 。布局在 fragment 内。我尝试通过以下方式保存和恢复滚动状态(这是 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 中调用第一个函数,在所有 RecyclerView 加载其内容后调用第二个函数。

但它不工作......

有什么想法吗?

最佳答案

如果您想在使用 fragment 管理器弹出返回堆栈后恢复 NestedScrollView 的滚动位置,则无需手动执行。对我来说,问题是缺少 NestedScrollView 的 id。在 xml 布局中添加 id 之后 - 一切正常。

关于android - 使用多个 RecyclerView 和其他 View 保存/恢复 NestedScrollView 的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39180197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com