@Override public void onBindViewHolder(BaseViewHolder holder, int position) { final UserDataHolder dataHolder = mDatas.get(position); final int itemViewType = dataHolder.getType(); switch (itemViewType) { case 0: HeaderViewHolder userViewHolder = (HeaderViewHolder) holder; userViewHolder.bind(mContext, dataHolder, position); break; case 1: ItemViewHolder itemViewHolder = (ItemViewHolder) holder; itemViewHolder.bind(mContext, dataHolder, position); break; case 2: DividerViewHolder dividerViewHolder = (DividerViewHolder) holder; dividerViewHolder.bind(mContext, dataHolder, position); break; default: break; } }