Aby odtworzyć problem, sklonowałem numer existing project i dodano dwa fragmenty. Teraz jest Activity
z ViewPager
, które mają 2 fragmenty. Każdy znak Fragment
ma wartość RecyclerView
(pionową), która zawiera wiele elementów o rozmiarze RecyclerView
(poziomo).Automatyczne przewijanie ma miejsce, gdy pozioma pozycja RecyclerView jest umieszczana jako element pionowy. RecyclerView
Teraz problemem jest Autoscroll pionowej RecyclerView
na kartę, gdy w połowie punkt przełączania poziome RecyclerView
pozostawiono w górę.
Na przykład:
stronie 1 jest przewijany w tej pozycji
(Należy zauważyć, że pierwszy widok H Recycler jest ustawiona tylko połowa jest widoczny)
Następnie stuknij na STRONIE 2 na tablayout, aby przejść do strony 2.
Teraz ponownie stuknij na STRONIE 1 na tablayout, aby powrócić na stronę 1. Tutaj spodziewana pozycja przewijania to miejsce, w którym wcześniej wyszliśmy, ale to automatyczne przewijanie do najwyższej pozycji. jak to
(pierwsza RecyclerView
jest pełna widoczny zamiast połowę.)
mam pewne wskazówki podczas gdy na zastanawianie się rozwiązania.
- Ten problem występuje w bibliotekach v24.1.1 i v24.2.1 (najnowsze w chwili pisania), ale po obniżeniu do wersji 23.4.0 działa zgodnie z oczekiwaniami. Jasne jest więc, że coś zostało zmodyfikowane w bibliotece, co doprowadziło do takiego zachowania.
- Wystąpił ten sam problem z elementem zawierającym przeglądarkę internetową. Powszechną rzeczą między webView i H-recyclerView jest to, że oba są wewnętrznie przewijane w poziomie. Problem może być związany z konsumpcją zdarzenia przewijania.
Czy dzwonisz do czegoś na stronieMożliwe wydarzenie czy coś? – Jai
Nie ... Nic nie jest wywoływane, gdy widoczna wskazówka użytkownika została zmieniona. – HBB20