From 5374d1441b7c0ad69bc2bc3866da7e2f74700d7d Mon Sep 17 00:00:00 2001 From: Yan Cheng Cheok Date: Thu, 21 Aug 2014 00:22:28 +0800 Subject: [PATCH] Update PinnedHeaderListView.java Bug fixed, when we are having section headers with different sizes. --- .../co/immedia/pinnedheaderlistview/PinnedHeaderListView.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/src/za/co/immedia/pinnedheaderlistview/PinnedHeaderListView.java b/library/src/za/co/immedia/pinnedheaderlistview/PinnedHeaderListView.java index 5af9e2f..f6a94a2 100644 --- a/library/src/za/co/immedia/pinnedheaderlistview/PinnedHeaderListView.java +++ b/library/src/za/co/immedia/pinnedheaderlistview/PinnedHeaderListView.java @@ -88,14 +88,14 @@ public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCoun mHeaderOffset = 0.0f; + final float pinnedHeaderHeight = mCurrentHeader.getMeasuredHeight(); for (int i = firstVisibleItem; i < firstVisibleItem + visibleItemCount; i++) { if (mAdapter.isSectionHeader(i)) { View header = getChildAt(i - firstVisibleItem); float headerTop = header.getTop(); - float pinnedHeaderHeight = mCurrentHeader.getMeasuredHeight(); header.setVisibility(VISIBLE); if (pinnedHeaderHeight >= headerTop && headerTop > 0) { - mHeaderOffset = headerTop - header.getHeight(); + mHeaderOffset = headerTop - pinnedHeaderHeight; } else if (headerTop <= 0) { header.setVisibility(INVISIBLE); }