From b2ab3d847813845f5f757bc0e4b9a93a27f79736 Mon Sep 17 00:00:00 2001 From: Vit Veres Date: Fri, 23 Jan 2015 11:17:57 +0100 Subject: [PATCH] Fixes different column count after rotation Now allows to have a different column count for each screen orientation. Library no longer ignores changes which happens to column count before onRestoreInstanceState --- .../library/widget/AsymmetricGridView.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/com/felipecsl/asymmetricgridview/library/widget/AsymmetricGridView.java b/library/src/main/java/com/felipecsl/asymmetricgridview/library/widget/AsymmetricGridView.java index a8ec741..ec2b85d 100644 --- a/library/src/main/java/com/felipecsl/asymmetricgridview/library/widget/AsymmetricGridView.java +++ b/library/src/main/java/com/felipecsl/asymmetricgridview/library/widget/AsymmetricGridView.java @@ -17,6 +17,7 @@ public class AsymmetricGridView extends ListView { private static final int DEFAULT_COLUMN_COUNT = 2; private static final String TAG = "AsymmetricGridView"; + private boolean requestedColumnCountCalled = false; protected int numColumns = DEFAULT_COLUMN_COUNT; protected int requestedHorizontalSpacing; protected int requestedColumnWidth; @@ -90,6 +91,7 @@ public void setRequestedColumnWidth(final int width) { public void setRequestedColumnCount(int requestedColumnCount) { this.requestedColumnCount = requestedColumnCount; + this.requestedColumnCountCalled = true; } public int getRequestedHorizontalSpacing() { @@ -158,7 +160,9 @@ public void onRestoreInstanceState(final Parcelable state) { allowReordering = ss.allowReordering; debugging = ss.debugging; numColumns = ss.numColumns; - requestedColumnCount = ss.requestedColumnCount; + if (!requestedColumnCountCalled) { + requestedColumnCount = ss.requestedColumnCount; + } requestedColumnWidth = ss.requestedColumnWidth; requestedHorizontalSpacing = ss.requestedHorizontalSpacing;