Когда вы очистите адаптер и вызвать notifyDataSetChanged()
- StaggedGridLayoutManager менеджера по-прежнему имеет mCachedStart/End
в Span[]
экземпляров. Поэтому, когда вы добавляете новые элементы в адаптер - менеджер макетов рисует элементы с смещением, и это огромная проблема.Android StaggeredGridLayoutManager смещения ошибки
EtsyStaggeredGridView имеет способ resetToTop()
, который очищает все кешированные вещи и рисует все с нуля.
Есть некоторые обходные пути:
- Вызова
layoutManager.onDetachedFromWindow(recyclerView, null)
после очистки адаптера - Набора нового менеджера макета, который плохо
Ну, это необычный вопрос, но это Безразлично 't выглядят как вопрос, но предоставленная информация только что разрешила случай, Вызов layoutManager.onDetachedFromWindow (recyclerView, null) после очистки адаптера Спасибо, теперь проблема смещения исчезла –