5

Moja aktywność zawiera AppBarLayout dostarczony przez bibliotekę projektowania 23.0.1, ukrywa się podczas przewijania w górę. Mam widok RecyclerView z każdym elementem podrzędnym zawierającym także widok RecyclerView, w zasadzie działa zagnieżdżony RecyclerView.Zagnieżdżony problem RecyclerView z AppBarLayout

Mój problem polega na tym, że po dotknięciu któregokolwiek z wewnętrznych podnośników RecyclerView i przewinięciu w górę, AppBar nie ukrywa się. Jeśli jednak umieszczę palec w innym miejscu (nie w wewnętrznym widoku RecyclerView) i przewijam, pasek aplikacji przewija się dobrze. Dlaczego to się dzieje? Próbowałem nawet dodać zachowanie związane z aplikacjami do widoku wewnętrznego recyklera, ale pasek aplikacji przewinął się tylko wtedy, gdy dotknę innego miejsca i przewiń.

Uwaga: wewnętrzny widok recyklingu ma stały zestaw elementów, które byłyby widoczne przez cały czas, w zasadzie nie ma możliwości przewijania w widoku recyklera.

Istnieje similar question, a dostarczonym rozwiązaniem byłoby przechwycenie dotyku wewnętrznego widoku recyclerview i przekazanie go do widoku nadrzędnego recyklera. Ale to wyłącza zdarzenia kliknięcia dzieci w widoku wewnętrznego recyklera, nie chcę tego.

+0

Czy rozwiązałeś problem? Mam ten sam problem, co ty, –

+0

@CristianHoldunu Naprawdę, wciąż utknąłem. – SergeantPeauts

+0

Rozumiem. Próbowałem przez ostatnie 2 dni, aby znaleźć dobre rozwiązanie, ale teraz jestem beznadziejny. Muszę się pozbyć zagnieżdżonego recyklera –

Odpowiedz

5

Musisz ustawić zagnieżdżoną flagę przewijania na wartość false dla widoków wewnętrznych recyklerów.

mSomeInnerRecyclerView.setNestedScrollingEnabled (false);

+0

TAK! Rzeczywiście znalazłem to wcześniej, ale zapomniałem wrócić do mojego własnego pytania. Dzięki! – SergeantPeauts