ActivityRecyclerAdapter.java 2.4 KB
package com.cnlive.goldenline.ui.adapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.cnlive.goldenline.R;
import com.cnlive.goldenline.model.ActDataBean;
import com.cnlive.goldenline.model.LiveInfo;
import com.cnlive.goldenline.ui.adapter.viewholder.ActivityHeadHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.ActivityHolder;
import com.cnlive.goldenline.ui.base.BaseRecyclerAdapter;
import com.cnlive.goldenline.util.DeviceUtils;

/**
 * <br/> ****************************************************
 * <br/> Project Name : goldenline-android3.0
 * <br/> Create Date : 2017/3/17 0017
 * <br/> Author : MaChao
 * <br/> Msg :
 * <br/> Remark :
 * <br/> ****************************************************
 */
public class ActivityRecyclerAdapter extends BaseRecyclerAdapter<LiveInfo>{

    public static final int TYPE_HEAD = 1000;       //活动头
    public static final int TYPE_ITEM = 1001;       //活动item

    private View mHeadView;

    private ActDataBean mActivityBean;

    private int width;
    public ActivityRecyclerAdapter(Context context) {
        super(context);
        width = DeviceUtils.getVideoWidth(context);
    }

    public void setHeadView(View view){
        this.mHeadView = view;
    }

    @Override
    public int getItemCount() {
        return mItems.size();
    }

    @Override
    public int getItemViewType(int position) {
        if (mHeadView != null && position == 0){
            return TYPE_HEAD;
        }
        return TYPE_ITEM;
    }

    public void updateItems(ActDataBean bean) {
        super.updateItems(bean.getLiveInfo());
        mActivityBean = bean;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        if (viewType == TYPE_HEAD){
            return new ActivityHeadHolder(mHeadView);
        }
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_act_item,parent,false);
        return new ActivityHolder(view);
    }


    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        if (holder instanceof ActivityHeadHolder) return;
        LiveInfo info = mItems.get(position);
        if (holder instanceof ActivityHolder){
            ((ActivityHolder) holder).show(info,position,width);
        }
    }
}