相关疑难解决方法(0)

如何使用RecyclerView.State保存RecyclerView的滚动位置?

我对Android的RecyclerView.State有疑问.

我正在使用RecyclerView,我如何使用它并将其与RecyclerView.State绑定?

我的目的是保存RecyclerView的滚动位置.

android state android-recyclerview

97
推荐指数
11
解决办法
9万
查看次数

如何在Android中保存RecyclerView的滚动位置?

我有一个Recycler视图,它位于SwipeRefreshLayout内部.此外,还可以打开另一个活动中的每个项目.返回Recycler后,我需要滚动到所选项目,或者前一个Y.如何做到这一点?

是的,我用Google搜索,在StackOverFlow中找到关于保存布局管理器实例的文章,如下所示:RecyclerView在活动之间存储/恢复状态.但是,它对我没有帮助.

UPDATE

现在我有这种解决问题,当然,它也没有用.

private int scrollPosition;

...//onViewCreated - it is fragment
recyclerView.setHasFixedSize(true);
LinearLayoutManager llm = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(llm);
data = new ArrayList<>();
adapter.setData(getActivity(), data);
recyclerView.setAdapter(adapter);
...

@Override
public void onResume() {
    super.onResume();
    recyclerView.setScrollY(scrollPosition);
}

@Override
public void onPause() {
    super.onPause();
    scrollPosition = recyclerView.getScrollY();
}
Run Code Online (Sandbox Code Playgroud)

是的,我尝试过scrollTo(int,int) - 不行.

现在我尝试滚动,例如,Y = 100,但它根本不滚动.

android scroll android-recyclerview

18
推荐指数
3
解决办法
3万
查看次数

标签 统计

android ×2

android-recyclerview ×2

scroll ×1

state ×1