gpt4 book ai didi

android - 保存嵌套回收器 View 的滚动位置状态

转载 作者:行者123 更新时间:2023-11-30 00:25:04 28 4
gpt4 key购买 nike

我有一个垂直的 RecyclerView,它可以在 view holders 中有多个水平的 RecyclerViews。当我旋转屏幕时,view holders重新创建,并且那些水平嵌套的回收器 View 的所有位置都丢失了。如何保住这些位置?

android list 中的

configChanges 不是一个选项。

saveOnInstanceState 在每个水平回收器 View 中不起作用,因为 view holder 被重新创建。

最佳答案

您可以尝试手动保存/恢复列表状态:

保存:

protected void onSaveInstanceState(Bundle state) {
super.onSaveInstanceState(state);

listState = layoutManager.onSaveInstanceState();
bundle.putParcelable(LIST_STATE_KEY, listState);
}

恢复:

protected void onRestoreInstanceState(Bundle bundle) {
super.onRestoreInstanceState(state);

if(bundle != null){
listState = bundle.getParcelable(LIST_STATE_KEY);
layoutManager.onRestoreInstanceState(listState);
}
}

关于android - 保存嵌套回收器 View 的滚动位置状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45547103/

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