diff --git a/flowlayout/src/main/java/com/nex3z/flowlayout/FlowLayout.java b/flowlayout/src/main/java/com/nex3z/flowlayout/FlowLayout.java index 47ef1fb..fedfaed 100644 --- a/flowlayout/src/main/java/com/nex3z/flowlayout/FlowLayout.java +++ b/flowlayout/src/main/java/com/nex3z/flowlayout/FlowLayout.java @@ -213,10 +213,12 @@ protected void onLayout(boolean changed, int l, int t, int r, int b) { int childNum = mChildNumForRow.get(row); int rowHeight = mHeightForRow.get(row); float spacing = mHorizontalSpacingForRow.get(row); - for (int i = 0; i < childNum; i++) { + for (int i = 0; i < childNum && childIdx < getChildCount();) { View child = getChildAt(childIdx++); if (child.getVisibility() == GONE) { continue; + } else { + i++; } LayoutParams childParams = child.getLayoutParams();