169 похожих чатов

Всем привет! Имеется RecyclerView, созданный динамически в зависимости от настроек

сервера внутри NestedScrollView. Над ним есть контроллеры, которые по нажатию на них скроллят (должны) recyclerView до нужной позиции. НО т.к. recyclerView внутри NestedScrollView, мой код не скороллит ничего

val productLayoutManager = view.rv_products.layoutManager as StaggeredGridLayoutManager
productLayoutManager.scrollToPositionWithOffset(itemPosition, 0)

Если же убрать NestedScrollView, то всё работает как ожидается.
Также нагуглил этот метод: requestDisallowInterceptTouchEvent, но то ли он не работает, то ли я его применить правильно не могу..
Как можно обойти проблему?

13 ответов

22 просмотра

Не совать листвью/ресайклер в скроллвью. Никогда.

Alexey-S Автор вопроса

Но на экране несколько View разных типов, в т.ч. 2 recyclerView

сделай один ресайклер с вьютайпами

Alexey-S Автор вопроса

там структура динамическая прямо жесть...

ConcatAdapter не помогает?

Alexey-S Автор вопроса

Буду разбираться тогда. С моей реализацией далеко не уехать получается?

естественно, ресайклер в скроллвью — всё равно что линеарЛейаут в скроллвью

Alexey-S Автор вопроса

ну Linear в Scroll ещё куда ни шло

Ну смотря для чего. Я к тому, что внутри скролла ресайклер превращается в линеар и перестаёт переиспользовать.

Alexey-S Автор вопроса

Спасибо вам, буду разбираться

Если он поперек скролла - то вроде все норм

да, естественно

Alexey-S Автор вопроса

не мой случай

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта