TwinklingRefreshLayout刷新框架配合RecyclerView使用出现滑动不了现象

记录下:

其实,是在写代码时太快,复制时没把RecyclerView嵌套进入会出现此情况

其次,在自己添加头部head时出现主体main列表不出现,而只出现头部,原因是接口拿到的数据只有1条,而在你返回的viewholder取值时应该减去头部headcount才能正确取值,不然会崩溃,造成数组越界。

关键代码

CouponEntity.InfoBeanX.InfoBean infoBean = list.get(position-headCount);
@Override
public int getItemCount() {

    return getMainBodySize()+headCount;
}
private boolean isHead(int position) {
    //
@Override
public int getItemViewType(int position) {
    if (isHead(position)) {
        return HEAD_ITEM;
    } else {
        return MAIN_ITEM;
    }

}
@Override
public int getItemCount() {

    return getMainBodySize()+headCount;
}
switch (viewType) {
    //创建不同viewholder
    case HEAD_ITEM:
        View inflate = LayoutInflater.from(Context).inflate(R.layout.mine_coupon_new_head_item, null);
        HeadViewHolder headViewHolder = new HeadViewHolder(inflate);
        return headViewHolder;
    case MAIN_ITEM:
        View inflateview = LayoutInflater.from(Context).inflate(R.layout.coupon_list_new_item, null);
        BodyViewHolder bodyviewholder = new BodyViewHolder(inflateview);
        return bodyviewholder;
    default:
        return null;

}
确定是第一个postion
    return headCount != 0 && position < headCount;
}

private int getMainBodySize() {
    return list.size();
}

猜你喜欢

转载自blog.csdn.net/qq_33330887/article/details/81486294