чтобы удалить все элементы из recyclerview , я использую следующий код:
int size = recyclerViewAdapter.getItemCount();
recyclerViewAdapter.clearList();
recyclerViewAdapter.notifyItemRangeRemoved(0, size);
представление переработчика использует следующую ItemDecoration:
public class CollectionsDecoration extends RecyclerView.ItemDecoration {
private int margin;
public CollectionsDecoration(Context context) {
margin = MeasurementsComputer.getPX(5, context);
}
@Override
public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
outRect.left = 0;
outRect.right = 0;
outRect.bottom = 0;
if (parent.getChildAdapterPosition(view) == 0)
outRect.top = 15 * margin;
else
outRect.top = 0;
}
}
Как видите, первый элемент имеет большее верхнее поле. проблема в том, что когда я запускаю приведенный выше код для удаления всех элементов, все элементы, включая первый элемент, получают верхнее поле, равное нулю, а затем удаляются и скрываются. почему при удалении не учитывается оформление первого предмета?