【发布时间】:2016-04-12 08:52:29
【问题描述】:
我有位于 SwipeRefreshLayout 内部的 Recycler 视图。此外,有能力在另一个活动中打开每个项目。 返回 Recycler 后,我需要滚动到所选项目或上一个 Y。 该怎么做?
是的,我在 Google 上搜索过,在 StackOverFlow 中找到了有关保存布局管理器实例的文章,例如:RecyclerView store / restore state between activities。 但是,它对我没有帮助。
更新
现在我有这种解决问题,但是,当然,它也不起作用。
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();
}
是的,我尝试过 scrollTo(int, int) - 不起作用。
现在我尝试只滚动到 Y = 100,但它根本不滚动。
【问题讨论】:
-
请发布您的代码以及您目前取得的成就。
-
@MadhukarHebbar 我查了,还是不行……
-
@DefaultXYZ this 一个为我工作。试试看!
-
@MadhukarHebbar 是的!非常感谢 :D 这也是我的错 - 我应该在
adapter.notifyDataSetChanged();之后滚动
标签: android scroll android-recyclerview