public void PreProcess() { int count = mPendingUpdates.Count; for (int i = 0; i < count; i++) { UpdateOp op = mPendingUpdates[i]; switch (op.cmd) { case UpdateOp.ADD: mFlexibleView.OffsetPositionRecordsForInsert(op.positionStart, op.itemCount); break; case UpdateOp.REMOVE: mFlexibleView.OffsetPositionRecordsForRemove(op.positionStart, op.itemCount, false); break; case UpdateOp.UPDATE: break; case UpdateOp.MOVE: break; } } mPendingUpdates.Clear(); }