Поддерживать положение прокрутки во вложенных RecyclerViews

У меня есть ViewHolder, который содержит еще один RecyclerView. Этот тип ViewHolder используется повторно несколько раз.

Поскольку ViewHolder является общим для разных элементов, позиция прокрутки RecyclerView также является общей для элементов. Например, вы прокручиваете до конца первого элемента, RecyclerView пятого элемента также прокручивается до самого конца, потому что представление используется повторно.

Я пытаюсь решить эту проблему, сопоставив 1 ViewHolder с 1 элементом.

Я попытался установить itemId для элемента, вызовите RecyclerView.ViewHolder#setIsRecyclable(false) и расширить/установить RecyclerView.getRecycledViewPool().setMaxRecycledViews(), как указано в этом ответе

После того, как я прокручиваю вниз и прокручиваю обратно вверх (ViewHolder перерабатывается), позиция прокрутки внутреннего RecyclerView сбрасывается до первого элемента.


comment
Единственное решение, которое я нашел, - это сохранить состояние LayoutManager (onSaveInstanceState) в модели во время события onRecycle и попытаться восстановить (onRestoreInstanceState) состояние менеджера макета в методе привязки.   -  person esong    schedule 23.01.2019