@Override public void onViewAttachedToWindow(BaseViewHolder holder) { super.onViewAttachedToWindow(holder); int position = holder.getLayoutPosition(); int type = getItemViewType(position); if (isFullSpanType(type)) { ViewGroup.LayoutParams layoutParams = holder.itemView.getLayoutParams(); if (layoutParams instanceof StaggeredGridLayoutManager.LayoutParams) { StaggeredGridLayoutManager.LayoutParams lp = (StaggeredGridLayoutManager.LayoutParams) layoutParams; lp.setFullSpan(true); } } }
@Override public final void onBindViewHolder(BaseViewHolder holder, int position) { switch (holder.getItemViewType()) { case TYPE_LOADING_VIEW: break; case TYPE_HEADER_VIEW: break; case TYPE_EMPTY_VIEW: break; case TYPE_FOOTER_VIEW: break; default: convert((VH) holder, mData.get(holder.getLayoutPosition() - getHeaderViewCount())); break; } }