ссылку на ресайклер.
когда доходит дело до onCreateVH (), при создании блока с галереей (вложеный ресайклер) - в VH прокидываю лямбду { rv?.width ?: 200 } чтобы внутри уже, в биндинге этого блока, можно было в свою очередь передать ее дальше во внутренний адаптер и там заюзать для получения ширины.
этот VH кешируется в RecyclerViewPool, и если я жмякаю TaskManager - происходит onPause/onResume для фрагмента, свапается наружный адаптер в основном ресайклере но почему то пул вьюшек остается тем же.
таким образом VH с блоком галереи не пересоздается а юзается с тарый, а в нем лямбда в которой захвачен старый адаптер (который только что был свапнут).
собственно если я докручиваю до галереи - а чуть выше писал что ресайклер зануляется когда детачился старый адаптер - лямбда вызывается и rv?.width ?: 200 отдает ширину 200, что есть некорректно. хотя ссылку на старый rv я занулил, vh закешировался всеравно. зачистка пула помогает это обойти но как то... хз кароче )
О, привет, мортал комбатов.
Обсуждают сегодня