Skip to content

Commit

Permalink
allow to suppress grouping by returning null from getHeaderView
Browse files Browse the repository at this point in the history
  • Loading branch information
mtotschnig committed Aug 10, 2013
1 parent 62be7e8 commit 9252a6f
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -127,21 +127,20 @@ private void recycleHeaderIfExists(WrapperView wv) {
private View configureHeader(WrapperView wv, final int position) {
View header = wv.mHeader == null ? popHeader() : wv.mHeader;
header = mDelegate.getHeaderView(position, header, wv);
if (header == null) {
throw new NullPointerException("Header view must not be null.");
}
//if the header isn't clickable, the listselector will be drawn on top of the header
header.setClickable(true);
header.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
if(mOnHeaderClickListener != null){
long headerId = mDelegate.getHeaderId(position);
mOnHeaderClickListener.onHeaderClick(v, position, headerId);
if (header != null) {
//if the header isn't clickable, the listselector will be drawn on top of the header
header.setClickable(true);
header.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
if(mOnHeaderClickListener != null){
long headerId = mDelegate.getHeaderId(position);
mOnHeaderClickListener.onHeaderClick(v, position, headerId);
}
}
}
});
});
}
return header;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -364,6 +364,7 @@ private void drawStickyHeader(Canvas canvas) {
canvas.restore();
}

@SuppressLint("NewApi")
private void measureHeader() {

int widthMeasureSpec = MeasureSpec.makeMeasureSpec(getWidth()
Expand Down Expand Up @@ -433,7 +434,8 @@ private void scrollChanged(int reportedFirstVisibleItem) {
mHeaderPosition = firstVisibleItem;
mCurrentHeaderId = mAdapter.getHeaderId(firstVisibleItem);
mHeader = mAdapter.getHeaderView(mHeaderPosition, mHeader, this);
measureHeader();
if (mHeader != null)
measureHeader();
}

int childCount = getChildCount();
Expand Down

0 comments on commit 9252a6f

Please sign in to comment.