6

Когда вы очистите адаптер и вызвать notifyDataSetChanged() - StaggedGridLayoutManager менеджера по-прежнему имеет mCachedStart/End в Span[] экземпляров. Поэтому, когда вы добавляете новые элементы в адаптер - менеджер макетов рисует элементы с смещением, и это огромная проблема.Android StaggeredGridLayoutManager смещения ошибки

EtsyStaggeredGridView имеет способ resetToTop(), который очищает все кешированные вещи и рисует все с нуля.

Есть некоторые обходные пути:

  • Вызова layoutManager.onDetachedFromWindow(recyclerView, null) после очистки адаптера
  • Набора нового менеджера макета, который плохо

add 20 items to adapter scroll a bit remove items, notifyChanges, add 20 items

ответ

3

Есть некоторые обходные пути:

  • Вызова layoutManager.onDetachedFromWindow(recyclerView, null) после очистки адаптера
  • Установите новый менеджер макета, который плохих
+0

Ну, это необычный вопрос, но это Безразлично 't выглядят как вопрос, но предоставленная информация только что разрешила случай, Вызов layoutManager.onDetachedFromWindow (recyclerView, null) после очистки адаптера Спасибо, теперь проблема смещения исчезла –

Смежные вопросы