gpt4 book ai didi

android - 刷新 RecyclerView 中的数据并保持其滚动位置

转载 作者:IT老高 更新时间:2023-10-28 13:12:03 26 4
gpt4 key购买 nike

如何刷新 RecyclerView 中显示的数据(在其适配器上调用 notifyDataSetChanged)并确保将滚动位置重置为准确的位置?

如果是好的 ol' ListView,它只需要检索 getChildAt(0),检查它的 getTop() 并调用 setSelectionFromTop 之后使用完全相同的数据。

RecyclerView 的情况下似乎不可能。

我想我应该使用它的 LayoutManager,它确实提供了 scrollToPositionWithOffset(int position, int offset),但是检索位置和抵消?

layoutManager.findFirstVisibleItemPosition()layoutManager.getChildAt(0).getTop()

或者有没有更优雅的方式来完成工作?

最佳答案

我用这个。^_^

// Save state
private Parcelable recyclerViewState;
recyclerViewState = recyclerView.getLayoutManager().onSaveInstanceState();

// Restore state
recyclerView.getLayoutManager().onRestoreInstanceState(recyclerViewState);

比较简单,希望对你有帮助!

关于android - 刷新 RecyclerView 中的数据并保持其滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28658579/

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