Подтвердить что ты не робот

RecyclerView отключает видимый вид

Текущий сценарий

Я использую эту библиотеку https://github.com/kanytu/android-parallax-recyclerview, чтобы добиться эффекта параллакса в RecyclerView. Все идет нормально. Однако я хотел бы получить такой эффект, как Google Newsstand, где заголовок все еще ниже карт.

Проблема

Проблема в том, что RecyclerView (или LinerLayoutManager) отделяет представление заголовка от момента, когда первый элемент списка касается верхней части родительского представления:

enter image description here

Как вы видите момент, когда первый вид карты касается вершины, это момент, когда RecyclerView отсоединяет заголовок.

Я уверен, что нет никакой проблемы с самой логикой, я получаю RecyclerView.findViewHolderForPosition(0) == null, когда карта достигает вершины. Доказательство того, что заголовок переработан.

Tried Solutions

Я пробовал много вещей вроде:

ViewHolder.setIsRecyclable, используя этот метод, чтобы установить держатель не на повторитель, не оказывает никакого эффекта.

LayoutManager.ignoreView Я пробовал маркировать представление, которое нужно игнорировать при клонировании и повторной утилизации. Результатом стало исключение: Trying to recycle an ignored view holder. You should first call stopIgnoringView(view) before calling recycle.

setItemViewCacheSize Ничего не делает. Пробовал вызов setItemViewCacheSize(50), и он ничего не делает для заголовка.

setMaxRecycledViews Пробовал настройку максимального количества переработанных представлений с помощью viewType = HEADER в 0, и он все еще перерабатывает его.

Заключение

Итак, я сомневаюсь, если есть какой-либо знак для того, чтобы пометить элемент для того, чтобы он не отсоединился, пока я не закажу его (например, если он все еще виден, а затем отсоедините его).

В github также есть проблема: https://github.com/kanytu/android-parallax-recyclerview/issues/7

4b9b3361