SerchRsultRecyclerAdapter.java 5.58 KB
package com.cnlive.goldenline.ui.adapter;

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

import com.cnlive.goldenline.R;
import com.cnlive.goldenline.model.home.KeywordsearchBean;
import com.cnlive.goldenline.model.response.bean.LiveShowBean;
import com.cnlive.goldenline.model.response.bean.VideoDemandBean;
import com.cnlive.goldenline.ui.activity.DianBoPlayerActivity;
import com.cnlive.goldenline.ui.activity.LiveShowActivity;
import com.cnlive.goldenline.ui.activity.SubscribeShowActivity;
import com.cnlive.goldenline.ui.activity.TheatreInfoActivity;
import com.cnlive.goldenline.ui.adapter.viewholder.AppointmentHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.FindgoodplayViewHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.LiveshowContentHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.PgcListViewHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.SerchEmptyHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.TextSigleViewHolder;
import com.cnlive.goldenline.ui.base.BaseRecyclerAdapter;
import com.cnlive.goldenline.ui.model.RecyclerViewNormalBean;


/**
 * @author 陈硕
 * @time 2017/4/9  17:04
 * @desc ${TODD}
 */
public class SerchRsultRecyclerAdapter extends BaseRecyclerAdapter<RecyclerViewNormalBean> {
    private Context context;

    public SerchRsultRecyclerAdapter(Context context) {
        super(context);
        this.context = context;
    }


    @Override
    public int getItemViewType(int position) {
        RecyclerViewNormalBean recyclerViewNormalBean = mItems.get(position);
        return recyclerViewNormalBean.getDataType();
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        RecyclerView.ViewHolder viewHolder = null;
        switch (viewType) {
            case 0://标题
                View inflate4 = inflater.inflate(R.layout.recycle_serch_text, parent, false);
                viewHolder = new TextSigleViewHolder(inflate4);
                break;
            case 1://订阅号
                View inflate0 = inflater.inflate(R.layout.recycler_pgc, parent, false);
                viewHolder = new PgcListViewHolder(inflate0);
                break;
            case 2:// 推荐直播
                View inflate = inflater.inflate(R.layout.layout_liveshow_content, parent, false);
                viewHolder = new LiveshowContentHolder(inflate);
                break;
            case 3:// 重磅预约
                View inflate1 = inflater.inflate(R.layout.layout_intensity_order, parent, false);
                viewHolder = new AppointmentHolder(inflate1);
                break;
            case 4:// 发现好剧
                View inflate2 = inflater.inflate(R.layout.layout_findgoodplay, parent, false);
                viewHolder = new FindgoodplayViewHolder(inflate2);
                break;
            case 5:// 空view
                View inflate5 = inflater.inflate(R.layout.layout_empty_view, parent, false);
                viewHolder = new SerchEmptyHolder(inflate5);
                break;

        }
        return viewHolder;

    }

    @Override
    public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
        RecyclerViewNormalBean item = getItem(position);
        if (holder instanceof PgcListViewHolder) {
            final KeywordsearchBean.PgcListBean pgcListBean = (KeywordsearchBean.PgcListBean) item.getT();
            ((PgcListViewHolder) holder).show(context, pgcListBean, position);
            ((PgcListViewHolder) holder).itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    TheatreInfoActivity.startActivity(context,pgcListBean.getTheatreId());
                }
            });
        } else if (holder instanceof LiveshowContentHolder) {
            final LiveShowBean onLineLiveListBean = (LiveShowBean) item.getT();
            ((LiveshowContentHolder) holder).show(context, onLineLiveListBean);
            ((LiveshowContentHolder) holder).itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    LiveShowActivity.start(context, onLineLiveListBean);
                }
            });
        } else if (holder instanceof AppointmentHolder) {
            final LiveShowBean appointmentListBean = (LiveShowBean) item.getT();
            ((AppointmentHolder) holder).tv_ordercount.setVisibility(View.GONE);
            ((AppointmentHolder) holder).show(context, appointmentListBean);
            ((AppointmentHolder) holder).itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    SubscribeShowActivity.start(context, appointmentListBean);
                }
            });
        } else if (holder instanceof FindgoodplayViewHolder) {
            final VideoDemandBean videoDemandListBean = (VideoDemandBean) item.getT();
            ((FindgoodplayViewHolder) holder).show(context, videoDemandListBean, position);
            ((FindgoodplayViewHolder) holder).itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    DianBoPlayerActivity.start(context,videoDemandListBean);
                }
            });
        } else if (holder instanceof TextSigleViewHolder) {
            String s = (String) item.getT();
            ((TextSigleViewHolder) holder).show(context, s, position);
        }


    }
}