У меня есть вид Recycler, который лежит внутри SwipeRefreshLayout. Кроме того, есть возможность открывать каждый элемент в другом действии. После возвращения обратно в Recycler мне нужно прокрутить выбранный элемент или к предыдущему Y. Как это сделать?Как сохранить положение прокрутки RecyclerView в Android?
Да, я googled, нашел статьи в StackOverFlow о сохранении экземпляра менеджера макета, как этот: RecyclerView store/restore state between activities. Но это мне не помогает.
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();
}
Да, я пробовал scrollTo (int, int) - doen't work.
Теперь я пробовал просто прокрутить, например, до Y = 100, но он вообще не прокручивается.
Пожалуйста размещаете код & что вы достигли до сих пор. – yennsarah
Возможный дубликат [как сохранить позицию прокрутки recyclerview, с recyclerview.state или нет) (http://stackoverflow.com/questions/27816217/how-to-save-recyclerview-scroll-position-with-recyclerview-state- или-нет) –
@MadhukarHebbar Я проверил его, и он тоже не работает ... – DefaultXYZ