Mam widok Recykler, który znajduje się wewnątrz SwipeRefreshLayout. Mają także możliwość otwierania każdego przedmiotu w innym działaniu. Po powrocie do Recyklera muszę przewinąć do wybranej pozycji lub do poprzedniej Y. Jak to zrobić?Jak zapisać pozycję przewijania RecyclerView w systemie Android?
Tak, użyłem go w wyszukiwarce, znalazłem artykuły w StackOverFlow dotyczące zapisywania instancji menedżera układu, takie jak to: RecyclerView store/restore state between activities. Ale to mi nie pomaga.
UPDATE
Teraz mam tego rodzaju rozwiązanie problemu, ale, oczywiście, to też nie działa.
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();
}
Tak, próbowałem scrollTo (int, int) - nie pracuję.
Teraz próbowałem po prostu przewinąć, na przykład, do Y = 100, ale nie przewija się wcale.
proszę umieszczać kodu & co osiągnąłeś do tej pory. – yennsarah
Możliwy duplikat [jak zapisać pozycję przewijania recyclerview, z recyclerview.state lub nie] (http://stackoverflow.com/questions/27816217/how-to-save-recyclerview-scroll-position-w-recyclerview-state- lub-nie) –
@MadhukarHebbar Sprawdziłem to i nie działa również ... – DefaultXYZ