Я работаю над настраиваемым представлением, в котором элементы можно разворачивать и сворачивать при нажатии на действие. Итак, я взял горизонтальный recyclerview, имеющий в своем элементе еще один горизонтальный recyclerview. Но у меня проблема с этой реализацией Внешний адаптер является держателем привязки представления только для элементов, которые видны на экране, как и ожидалось, но внутренний адаптер вызывает функцию onBindViewHolder для всех элементов, присутствующих в списке. Я установил адаптер во внутреннем виде ресайклера, как это
val layoutManager = LinearLayoutManager(effectRecyclerView.context,LinearLayoutManager.HORIZONTAL, false)
innerAdapter = InnerItemAdapter(innerItemList, clickListener)
innerRecyclerView.isNestedScrollingEnabled = false
innerRecyclerView.adapter = innerAdapter
innerRecyclerView.itemAnimator = null
innerRecyclerView.layoutManager = layoutManager
innerRecyclerView.setRecycledViewPool(viewPool)
Это реализовано в onBindViewHolder внешнего адаптера.
Это очевидное поведение. Вот почему не рекомендуется использовать два recyclerview с одинаковой ориентацией.
@OhhhThatVarun, пожалуйста, предложите альтернативу вложенным recyclerviews
развернуть и свернуть виды можно без использования двух вложенных
recyclerview. Это чрезмерное усложнение простой проблемы.