}  row.append(child); spanLeft -= span; offset = child.getEndOffset();
int viewSpan = (int) view.getPreferredSpan(axis); row.append(view); int breakWeight = view.getBreakWeight(axis, x, span); if (breakWeight >= View.ForcedBreakWeight) break; x += viewSpan; span -= viewSpan; offset += (view.getEndOffset() - view.getStartOffset()); } if (span < 0) { int flowStart = fv.getFlowStart(axis); int flowSpan = fv.getFlowSpan(axis); adjustRow(fv, rowIndex, flowSpan, flowStart); int rowViewCount = row.getViewCount(); offset = row.getView(rowViewCount - 1).getEndOffset();
    protected int layoutRow(FlowView fv, int rowIndex, int pos)    {      int spanLeft = fv.getFlowSpan(rowIndex);      if (spanLeft <= 0)        return -1;      int offset = pos;      View row = fv.getView(rowIndex);      int flowAxis = fv.getFlowAxis();      while (spanLeft > 0)        {          View child = createView(fv, offset, spanLeft, rowIndex);          if (child == null)            {              offset = -1;            break;            }          int span = (int) child.getPreferredSpan(flowAxis);          if (span > spanLeft)            {              offset = -1;            break;            }          row.append(child);          spanLeft -= span;          offset = child.getEndOffset();        }      return offset;    }